J'essaie de créer une classe générique qui prend 3 types, soit une simple chaîne, IList<string>
ou IList<OntologyStore>
.Comment créer une classe générique qui prend 3 types
public class OntologyStore
{
}
public sealed class jim<T> where T:new()
{
string J;
IList<string> X = null;
IList<OntologyStore> X1 = null;
public jim()
{
if (typeof(T) == typeof(String))
{
J = string.Empty;
}
if (typeof(T) == typeof(OntologyStore))
{
X1 = new List<OntologyStore>();
}
if (typeof(T)==typeof(IList))
{
X = new List<string>();
}
}
}
Je peux facilement créer, ce que vous attendez de travailler,
jim<OntologyStore> x1=new jim<jim<OntologyStore>()
que vous attendez, mais quand je mets en
jim<string> x2=new jim<string>()
le compilateur rapporte la chaîne est non type abtract, auquel vous vous attendriez.
Est-il possible de créer une classe générique, qui peut être instanciée comme une classe qui contient une chaîne, ou un IList<string>
ou un IList<OntologyStore>
?
Vous avez vraiment réussi à me dérouter! Quel problème essayez-vous de résoudre? – flq
Il serait plus facile de répondre à votre question si vous donniez à vos classes quelque chose d'autre que des noms propres. Il devient confus en se référant aux classes nommées 'jim' ou' bob'. – LBushkin
Ignorer mon message, vous avez mis à jour la question pendant que j'écrivais ma réponse. Je ne suis pas sûr de comprendre ce que vous essayez de faire avec cette classe. Je suis un peu confus quant à son but. – Toby