次の例を検討してください。
namespace ValueObjects
{
public class User
{
public string UserCode { get; set; }
public string UserName { get; set; }
}
public class Company
{
public string CompanyCode { get; set; }
}
}
ここで、User クラスに CompanyCode プロパティを持たせたいと考えています。最初の明らかな解決策は、単に User クラスに CompanyCode プロパティを配置することです。
public class User
{
public string UserCode { get; set; }
public string UserName { get; set; }
public string CompanyCode { get; set; }
}
ここでの問題は冗長性です。これは、Company クラスにプロパティ CompanyCode が既に存在するためです。ユーザーが Company クラスを継承せずに Company の CompanyCode プロパティを使用できるようにする方法はありますか (ここでの問題は、C# がクラスの多重継承を許可していないことです)。 ICompany インターフェイスを使用します (ただし、値オブジェクトではインターフェイスが面倒です)。Company クラスを User クラスに含めることだけを考えていますが、適切な 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 }
}
しかし、文字列プロパティ CompanyCode を追加するだけでも違いはありません。皆さんのアドバイスが必要です。前もって感謝します..