Come dichiarare una classe in modo dinamico? C #
-
28-09-2019 - |
Domanda
C'è qualche possibilità di dichiarare una classe in modo dinamico? c'è qualche possibilità di creare elenco generico con classe anonima in C #? eventuali frammenti di codice sarà di aiuto. grazie
Soluzione
Microsoft ha fatto C # dinamico nella versione 4.0. È possibile utilizzare la nuova parola chiave 'dinamica'. Il seguente link ha alcuni buoni esempi di come utilizzare il nuovo tipo dinamico.
Altri suggerimenti
Dichiarazione di una classe richiede dinamicamente CodeDom .
v'è alcuna possibilità di creare elenco generico con classe anonima in C #?
Sì, ma è, in generale, non raccomandato per l'uso al di fuori del contesto immediato. Ad esempio, questo crea un elenco generico di un tipo anonimo:
var range = Enumerable.Range(0, 100);
var genericList = range.Select(value => new { Value = value }).ToList();
Nel codice precedente, genericList
è un List<T>
contenente un tipo anonimo.
Come SLaks menzionati nelle osservazioni, è possibile. Ma non è banale. Io non sono sicuro di quello che si sta cercando di fare, ma è possibile aggiungere facilmente anonimo tipo per un elenco generico di oggetti.
List<object> list = new List<object>();
for(int i = 0; i < 10; i++){
list.Add(new { SomeProperty = i, OtherProperty = "foobar" });
}