Considerate questo codice:ImpostaValore nella riflessione in C#
var future = new Future();
future.GetType().GetProperty(info.Name).SetValue(future, converted);
Nel codice di cui sopra dovrebbe passare due argomenti per SetValue
. In primo luogo, l'oggetto che vogliamo impostare la sua proprietà. In secondo luogo, il nuovo valore. Ma selezioniamo la proprietà specifica.
Perché dovremmo passare il primo parametro per impostare il valore come abbiamo impostato l'oggetto futuro prima !?
riflessione sarebbe (più) terribilmente complesso se ogni oggetto doveva ricordare * come * è stato ottenuto, solo in modo che si potrebbe utilizzare quello registrato informazioni in seguito, piuttosto che chiedere di nuovo tramite un parametro. Cioè ci sono molti modi per ottenere un 'Type', non tutti richiedono prima un'istanza di quel tipo. –