我的應用程序支持插件。有一個項目,PluginUtils
,包含接口和代碼。該項目包含在應用程序和每個插件中。插入接口文件的位置?
問題是一個界面提到了一個自定義項目,但是PluginUtils
會導致在所有插件類型中都需要自定義項目。
namespace PluginUtils
{
public interface IPluginSend
{
[Description("Send an email")]
void SendEmail(string subject, string body, List<string> attachments, List<string> toAddresses);
}
public interface IPluginSave
{
[Description("Save data")]
string SaveData(List<MyClass> data, string resultsPath);
}
}
我怎樣才能防止插件,不必引用包含MyClass
的命名空間來實現IPluginSend
?
編輯
阿龍的回答很關鍵。我不得不改變一些依賴關係:PluginUtils
不再包含對MyClass
命名空間的引用,但MyClass
現在引用PluginUtils
。
您不能 - 'MyClass'是合同的一部分。爲什麼接口提到它,如果實現者不應該需要它? –