我試着去開發編輯器,比如VS編輯器,我HAWE如FTP,TELNET(其中拖動和設計師的下降,他們在PropertyGrid中彼此改變性質等進行連接),然後執行部件使用MEF。使用MEF掃描具有接口IComponent的所有dll-s,然後使用反射從dll-s獲取原始對象是個好主意。例如在編輯器中
[Export(typeof(ICOmponent))]
[MetadataExport("Name", "FTP")]
public class FTP : ICOmponent
{
public string Server { get; set; }
public void Start()
{
....ConectTOServer(Server);
}
}
[Export(typeof(ICOmponent))]
[MetadataExport("Name", "MessageBox")]
public class MessageBox : ICOmponent
{
public string Message { get; set; }
public void Start()
{
System.Windows.Forms.MessageBox.Show(Message);
}
}
public interface ICOmponent
{
void Start();
}
或者是另一種方法,從IComponent的從MEF獲得原始對象像元..因爲PropertyGrid的NEAD實物用於顯示FTP服務器並從MessageBox的消息屬性。 對不起,我的英語不好。
看起來不錯。但問題是什麼?有沒有你不知道如何實施的部分? propertygrid如何顯示對象時是否存在問題?其他一些問題? – 2010-12-14 18:26:52