Мне нужно разработать надстройку для Outlook 2010, и я новичок в Visual Studio и C #, так как я в основном использую PHP и JavaScript. Я использую Visual Studio 2010, и я создал проект, используя встроенный шаблон надстройки Outlook 2010. Рассмотрим следующий код:
// file ThisAddIn.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
using Outlook = Microsoft.Office.Interop.Outlook;
using Office = Microsoft.Office.Core;
namespace OutlookAddIn1
{
public partial class ThisAddIn
{
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
public string displayCount()
{
Outlook.MAPIFolder inbox = this.Application.ActiveExplorer().Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
Outlook.Items unreadItems = inbox.Items.Restrict("[Unread]=true");
return string.Format("Unread items in Inbox = {0}", unreadItems.Count);
}
#region VSTO generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisAddIn_Startup);
this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion
}
}
// file Ribbon1.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;
namespace OutlookAddIn1
{
public partial class Ribbon1
{
private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
{
}
private void button1_Click(object sender, RibbonControlEventArgs e)
{
// call ThisAddIn.displayCount() here
}
}
}
Вопрос в том, как вызвать публичные методы из класса ThisAddIn в классе Ribbon1 или где-либо еще? Я знаю, что мне нужна ссылка на объект, но как я могу узнать имя экземпляра? Я не вижу экземпляра ThisAddIn, созданного где-либо в существующих файлах. Или я неправильно понимаю концепцию, и это должно быть сделано другими способами? Буду признателен за любые советы или ссылки на информацию по созданию надстроек Office.