我正在編寫一個程序,允許開發人員爲它編寫AddIn,並且我希望開發人員能夠將鉤入程序中發生的事件。.NET AddIn開發
我的代碼不能編譯,因爲我無法在IMyProgram接口中聲明委託。
所以我想這是更多的設計問題。你將如何獲得傳遞給AddIn的接口,以便AddIn可以掛鉤到程序事件中?
[AddInContract]
public interface IMyProgramAddInContract : IContract {
/// <summary>
/// Initializes AddIn
/// </summary>
void Init(IMyProgram instance);
System.Drawing.Image AddInIcon { get; }
String DisplayName { get; }
String Description { get; }
}
[AddInContract]
public interface IMyProgram : IContract {
public delegate EventHandler EmailEventHandler(object sender, EmailEventArgs args);
public event EmailEventHandler BeforeCheck;
public event EmailEventHandler AfterCheck;
public event EmailEventHandler EmailDownloaded;
public event EmailEventHandler OnProcessMessage;
}
[AddInBase]
public class EmailEventArgs : EventArgs {
public override string ToString() {
return "todo";
}
}
沒有工作。接口不能聲明類型:( – 2008-12-28 07:49:44