我有這樣在不同的組件實現的接口
public interface ICustomerEx
{
void Load(DataRow row);
}
public class Customer:ICustomerEx
{
public string Name{get;set;}
public string Address{get;set;}
void Load(DataRow row)
{
Name = (string)row["name"];
Address = (string)row["address"];
}
}
現在我建立這是一個類庫,並添加到另一個項目作爲參考的接口和類。 在該項目中有一個名爲UiCustomer的類,它使用相同的引用接口實現ICustomerEx 在此類中,它具有自己的屬性並從其加載方法加載該屬性。
public class UiCustomer:ICustomerEx
{
public string Telephone{get;set;}
void Load(DataRow row)
{
Telephone=(string)row["tele"];
}
}
現在有沒有什麼辦法來實現我的第一類的(即構建一個類庫)Load方法加載它通過使用像依賴注入的自身屬性後加載UI項目的屬性。
例如。
public class Customer:ICustomerEx
{
public string Name{get;set;}
public string Address{get;set;}
void Load(DataRow row)
{
Name = (string)row["name"];
Address = (string)row["address"];
//Call load methods in other places that Interface implemented
}
}
感謝您的回覆。我的要求與你的答案有一點不同。這個客戶實例需要從參考DLL一側創建。即從客戶類別存在的同一個程序集中的一個類。我的要求是創建通用類庫來創建客戶實例並加載它。除此之外,當它引用任何程序集時,它應該能夠從引用的程序集中加載它自己的屬性。 – Snj
@Snj:我已經更新了我的答案,以包含關於如何做到這一點的一些想法。 – ChaseMedallion
感謝您的想法。用你的方式,當cust實例創建時,它只有'電話'成員。即當我從顧客類中看到它時,它只包含子類的成員。客戶的成員,如'姓名','地址'不包括在內。 – Snj