Articles of reflection

Ottiene a livello di codice i commenti di riepilogo in fase di esecuzione

Sto cercando un modo per ottenere in modo programmatico la parte di riepilogo dei commenti Xml di un metodo in ASP.net. Ho esaminato i post correlati precedenti e non forniscono un modo per farlo in un ambiente web. Non posso usare app di terze parti e, a causa di un ambiente web, i plug-in di […]

Trova metodi con attributo personalizzato che utilizza la riflessione

Ho un attributo personalizzato: public class MenuItemAttribute : Attribute { } e una class con alcuni metodi: public class HelloWorld { [MenuItemAttribute] public void Shout() { } [MenuItemAttribute] public void Cry() { } public void RunLikeHell() { } } Come posso ottenere solo i metodi che sono decorati con l’attributo personalizzato? Finora, ho questo: string […]

Come passare un parametro come riferimento con MethodInfo.Invoke

Come posso passare un parametro come riferimento con MethodInfo.Invoke ? Questo è il metodo che voglio chiamare: private static bool test(string str, out byte[] byt) Ho provato questo, ma ho fallito: byte[] rawAsm = new byte[]{}; MethodInfo _lf = asm.GetTypes()[0].GetMethod(“test”, BindingFlags.Static | BindingFlags.NonPublic); bool b = (bool)_lf.Invoke(null, new object[] { “test”, rawAsm }); I byte […]

Risoluzione di un nome parametro in fase di runtime

Possibile duplicato: Trovare il nome della variabile passato a una funzione in C # In C #, c’è un modo (più veloce è il migliore) per risolvere il nome di un parametro in fase di esecuzione? Ad esempio, nel metodo seguente, se hai rinominato il parametro method, dovresti anche ricordarti di aggiornare il letterale stringa […]

Come puoi ricorrere alle proprietà di una class?

C’è un modo in c # per scorrere le proprietà di una class? Fondamentalmente ho una class che contiene un gran numero di proprietà (in pratica contiene i risultati di una query di database di grandi dimensioni). Ho bisogno di generare questi risultati come file CSV, quindi è necessario aggiungere ogni valore a una stringa. […]

Come trovare tutti i tipi in un assieme che eredita da un tipo specifico C #

Come si ottiene una collezione di tutti i tipi che ereditano da un altro tipo specifico?

Quando usi la riflessione? Patterns / anti-pattern

Comprendo l’API di riflessione (in c #) ma non sono sicuro in quale situazione lo utilizzerei. Quali sono alcuni schemi: anti-pattern per l’uso della riflessione?

Perché è raccomandato l’uso di reflection in .NET?

È sicuramente una buona pratica usarlo? Quali sono alcune possibili situazioni in un progetto che necessita di riflessione?

Ottieni proprietà e valori da oggetti sconosciuti

Dal mondo di PHP ho deciso di dare C # a go. Ho fatto una ricerca ma non riesco a trovare la risposta su come fare l’equivalente a questo. $object = new Object(); $vars = get_class_vars(get_class($object)); foreach($vars as $var) { doSomething($object->$var); } Fondamentalmente ho una lista di un object. L’object potrebbe essere uno dei tre […]

Riflessione Java: come posso recuperare classi interne anonime?

Ho una class interna anonima all’interno di un’altra class ( SomeClass ). Sia SomeClass.class.getClasses() che SomeClass.class.getDeclaredClasses() restituiscono matrici vuote. Non sono riuscito a trovare alcuni suggerimenti su questo in Javadoc di Class . Le classi interne anonime possono essere recuperate utilizzando la riflessione in qualche modo? Quali altre differenze sono notevoli tra le classi interne […]