1
考慮這個例子:集裝箱船的問題
namespace ValueObjects
{
public class User
{
public string UserCode { get; set; }
public string UserName { get; set; }
}
public class Company
{
public string CompanyCode { get; set; }
}
}
現在,我想User類有一個企業編碼屬性..第一個顯而易見的解決方案是 只是簡單的把一個企業編碼性能上的用戶類
public class User
{
public string UserCode { get; set; }
public string UserName { get; set; }
public string CompanyCode { get; set; }
}
現在這裏的問題是冗餘的,因爲已經有一個屬性CompanyCode公司類,是否有任何方式,用戶將能夠使用公司的CompanyCode屬性沒有繼承公司類(這裏的問題是C#doesnt分配w類的多重繼承)或使用ICompany接口(但接口在Value對象中是一種痛苦)。 即時通訊考慮只包含公司類到用戶類,但我只會使用它的Propery CompanyCode。
這樣的事情..
public class User
{
public string UserCode { get; set; }
public string UserName { get; set; }
private Company company;
public string CompanyCode { get { company.CompanyCode } set {company.CompanyCode }
}
但隨後,這是沒有什麼區別,只是增加一個字符串屬性企業編碼.. 需要你的意見傢伙。在此先感謝..
問題是,當我使公司類屬性的用戶 - 上市公司UserCompany {獲取;組; } - 並將用戶放入一個集合(例如集合用戶)並將其綁定到Gridview。 Gridview的Boundfield不會讓你訪問包含的類的屬性... –
CSharpNoob
2010-09-12 14:03:27
@CsharpNoob確實,objectdatasource/asp.net簡單的數據綁定不能走低谷複雜的類。看看這裏:http://www.codeproject.com/KB/database/CustomBindableObject.aspx – 2010-09-12 14:13:53
有沒有解決這個問題的方法?我正在使用DTO和它的討厭,在我的價值對象中看到太多的CompanyCode屬性。 – CSharpNoob 2010-09-12 14:44:54