Comment rendre la classe suivante aussi générale que possible (pour une réutilisation maximale) sans créer trop de classes du même type, bien qu'avec une propriété supplémentaire.C# Class Design avec des génériques
Je veux éviter d'écrire 3 versions légèrement différentes de la même classe
1 # classe avec No SubContent
public class Content
{
public string PageName { get; set; }
}
2 # classe avec Subcontent
public class Content
{
public string PageName { get; set; }
public IList<Content> SubContent {get; set;} //same as class
}
3 # classe avec sous-contenu d'un autre type
public class Content
{
public string PageName { get; set; }
public IList<DetailContent> SubContent {get; set;} //Note the different def
}
Bien sûr, je peux créer une classe générique, mais je trouve cela déroutant pour les consommateurs. Il infère que la classe est de type T, alors qu'en fait son la propriété qui nécessite le type
public class Content<T>
{
public string PageName { get; set; }
public IList<T> SubContent {get; set;} //Note the different def
}
Propriétés génériques ne sont pas pris en charge. Donc, y a-t-il des modèles ou des suggestions sur la façon dont je peux gérer ce problème?
Bonne suggestion. –