Articles of reflection

Come accedere alla class interna usando Reflection

Come posso accedere a una class interna di un assembly? Dire che voglio accedere a System.ComponentModel.Design.DesignerHost. Qui DesignerHost è una class interna e sigillata. Come posso scrivere un codice per caricare l’assembly e il tipo ?.

Come puoi ottenere i nomi dei parametri del metodo?

Se ho un metodo come: public void MyMethod(int arg1, string arg2) Come potrei fare per ottenere i nomi effettivi degli argomenti? Non riesco a trovare nulla nel MethodInfo che in realtà mi darà il nome del parametro. Mi piacerebbe scrivere un metodo che assomiglia a questo: public static string GetParamName(MethodInfo method, int index) Quindi se […]

Richiamo di metodi con parametri opzionali tramite riflessione

Ho incontrato un altro problema usando C # 4.0 con parametri opzionali. Come faccio a invocare una funzione (o meglio un costruttore, ho l’object ConstructorInfo ) per il quale so che non richiede alcun parametro? Ecco il codice che uso ora: type.GetParameterlessConstructor() .Invoke(BindingFlags.OptionalParamBinding | BindingFlags.InvokeMethod | BindingFlags.CreateInstance, null, new object[0], CultureInfo.InvariantCulture); (Ho appena provato con […]

Come trovare tutte le classi che implementano una determinata interfaccia?

Sotto un determinato spazio dei nomi, ho un set di classi che implementano un’interfaccia. Chiamiamolo ISomething . Ho un’altra class (chiamiamola CClass ) che sa di ISomething ma non conosce le classi che implementano quell’interfaccia. Vorrei che CClass cercasse tutta l’implementazione di ISomething , istanzia un’istanza di esso ed esegui il metodo. Qualcuno ha un’idea […]

Usare la riflessione in C # per ottenere le proprietà di un object nidificato

Dati i seguenti oggetti: public class Customer { public String Name { get; set; } public String Address { get; set; } } public class Invoice { public String ID { get; set; } public DateTime Date { get; set; } public Customer BillTo { get; set; } } Mi piacerebbe utilizzare la riflessione per […]

GetProperties () per restituire tutte le proprietà per una gerarchia di ereditarietà dell’interfaccia

Supponendo la seguente ipotetica gerarchia di ereditarietà: public interface IA { int ID { get; set; } } public interface IB : IA { string Name { get; set; } } Usare la riflessione e effettuare la seguente chiamata: typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance) produrrà solo le proprietà dell’interfaccia IB , che è ” Name “. Se […]

Qual è la differenza tra System.Type e System.RuntimeType in C #?

Stavo cercando di fare alcuni test di convenzione oggi e di ottenere tutti i tipi in un assembly (chiamando Assembly.GetTypes() ), quando sono incappato in qualcosa: System.RuntimeType:[First.Namespace.FirstClass] Ogni volta che provo a confrontare quel tipo con typeof(FirstClass) , non sono uguali. Quindi, quando cerco di trovare tutti i tipi che contengono FirstClass come parametro generico, […]

Scopo di Activator.CreateInstance con esempio?

Qualcuno può spiegare in dettaglio lo scopo di Activator.CreateInstance() ?

Qual è la differenza tra il proxy dinamico JDK e CGLib?

Nel caso del Proxy Design Pattern , qual è la differenza tra Dynamic Proxy di JDK e API di generazione di codice dinamico di terze parti come CGLib ? Qual è la differenza tra l’utilizzo di entrambi gli approcci e quando si preferisce uno rispetto all’altro?

Ottieni il nome della variabile. javascript “reflection”

C’è un modo per ottenere il nome della variabile, come puoi fare con .Net con la riflessione? come in questo scenario: function(x,y,z) { if (x === 0) logger.log(‘variable ‘ + x.reflectedName ‘ has invalid value ‘ + x) // logs: ‘variable x has invalid value 0) … } Ho trovato domande simili che volevano il […]