Considérons cet exemple:Containership Question
namespace ValueObjects
{
public class User
{
public string UserCode { get; set; }
public string UserName { get; set; }
}
public class Company
{
public string CompanyCode { get; set; }
}
}
Maintenant, je veux la classe utilisateur d'avoir une propriété CompanyCode .. la première solution évidente est tout simplement mettre une propriété CompanyCode sur la classe utilisateur
public class User
{
public string UserCode { get; set; }
public string UserName { get; set; }
public string CompanyCode { get; set; }
}
Maintenant le problème ici est redondant car il existe déjà une propriété CompanyCode à la classe Company, est-il possible que l'utilisateur puisse utiliser la propriété CompanyCode de la société SANS hériter de la classe Company (problème ici est C# doesnt allo w héritage multiple des classes) ou en utilisant une interface ICompany (mais l'interface est une douleur dans les objets de valeur). Je pensais à juste contenir la classe Company à la classe User mais je vais utiliser seulement la propriété CompanyCode de celui-ci.
quelque chose comme ça ..
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 }
}
mais, il n'y a pas de différence pour simplement ajouter une propriété de chaîne CompanyCode .. besoin de vos gars de conseils. Merci d'avance ..
Le problème est, quand je fais la classe Company une propriété de l'utilisateur - public Company UserCompany {get; ensemble; } - et placez l'utilisateur dans une collection (ex: Collection utilisateur) et liez-le à un Gridview. Le Boundfield de Gridview ne vous laissera pas accéder à la propriété de la classe contenue ... –
CSharpNoob
@CsharpNoob en effet, objectdatasource/asp.net simple liaison de données ne peut pas marcher à travers les classements complexes. Jetez un oeil ici: http://www.codeproject.com/KB/database/CustomBindableObject.aspx –
Y at-il une solution à ce sujet? J'utilise DTO et son méchant, pour voir trop de propriété CompanyCode dans mes objets de valeur .. – CSharpNoob