Ho una classe che ho creato utilizzando CodeDOM:Come creare una classe generica usando CodeDOM il cui parametro generico è un tipo che ho creato?
CodeTypeDeclaration some_class = new CodeTypeDeclaration("SomeClass");
// ... properties and methods creation elided
voglio creare una lista di tipo "SomeClass". Tuttavia, non riesco a farlo:
var list_type = new CodeTypeReference(typeof (List<>).Name, ??? some_class ???);
var member_field = new CodeMemberField(list_type, field_name)
{
Attributes = MemberAttributes.Private,
};
CodeTypeReference non accetta una CodeTypeDeclaration
, che è quello che mi serve. Cosa posso fare? I non desidera passare il nome della classe come stringa, poiché ciò potrebbe causare errori.
Come sarebbe passando la proprietà Name della dichiarazione del tipo essere qualsiasi d ifferent dall'usare la proprietà name di typeof (Lista <>)? – tyranid
@tyranid 'typeof (list <>)' si basa sulla riflessione per recuperare il nome; ma vedo il tuo punto ... Potrei usare list_type.Name, giusto? –