Articles of reflection

Récupère le nom de chaîne de la propriété en utilisant la reflection

Il existe toute une panoplie d’exemples de reflection qui vous permettent d’obtenir: 1. Toutes les propriétés d’une classe 2. Une seule propriété, à condition de connaître le nom de la chaîne Existe-t-il un moyen (utilisant la reflection, TypeDescriptor ou autre) pour obtenir le nom de chaîne d’une propriété dans une classe à l’exécution, à condition […]

Constructeur d’appel Java Reflection avec types primitifs

J’ai une méthode dans mon environnement de test qui crée une instance d’une classe, en fonction des parameters transmis dans: public void test(Object… constructorArgs) throws Exception { Constructor con; if (constructorArgs.length > 0) { Class[] parameterTypes = new Class[constructorArgs.length]; for (int i = 0; i < constructorArgs.length; i++) { parameterTypes[i] = constructorArgs[i].getClass(); } con = […]

Comment masquer les méthodes publiques de intellisense

Je veux masquer les méthodes publiques de la liste des membres intellisense. J’ai créé un atsortingbut qui, appliqué à une méthode, provoquera l’appel de la méthode lorsque son object sera construit. Je l’ai fait pour mieux supporter les classes partielles. Le problème est que dans certains environnements (tels que Silverlight), la reflection ne peut pas […]

Comment tester si MethodInfo.ReturnType est le type de System.Void?

En utilisant la reflection pour obtenir un MethodInfo, je veux tester si le type renvoyé est typeof System.Void. Tester si c’est System.Int32 fonctionne bien myMethodInfo.ReturnType == typeof(System.Int32) mais myMethodInfo.ReturnType == typeof(System.Void) ne comstack pas? À l’heure actuelle, je teste si la représentation sous forme de chaîne du nom est “System.Void”, ce qui semble très faux.

Modifier le paramètre de chaîne d’annotation d’une définition de classe à l’exécution

Imaginez qu’il y a une classe: @Something(someProperty = “some value”) public class Foobar { //… } Ce qui est déjà compilé (je ne peux pas contrôler la source), et fait partie du classpath quand jvm démarre. Je voudrais pouvoir changer “une valeur” à autre chose à l’exécution, de sorte que toute reflection par la suite […]

Existe-t-il un moyen de définir des propriétés sur des instances de structure en utilisant la reflection?

J’essaie d’écrire du code qui définit une propriété sur une structure (important que ce soit une propriété sur une structure) et qu’elle échoue: System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(); PropertyInfo propertyInfo = typeof(System.Drawing.Rectangle).GetProperty(“Height”); propertyInfo.SetValue(rectangle, 5, null); La valeur Height (telle que rapscope par le débogueur) n’est jamais définie sur rien – elle rest à la valeur […]

Comment créez-vous une nouvelle instance d’une structure à partir de son type lors de l’exécution dans Go?

Dans Go, comment créez-vous l’instance d’un object à partir de son type au moment de l’exécution? Je suppose que vous devriez aussi obtenir le type de l’object en premier aussi? J’essaie de faire une instanciation paresseuse pour économiser de la mémoire.

Les atsortingbuts C # peuvent-ils accéder à la classe cible?

Je veux accéder aux propriétés d’une classe à partir de la classe d’atsortingbut en utilisant la reflection. C’est possible? Par exemple: class MyAtsortingbute : Atsortingbute { private void AccessTargetClass() { // Do some operations } } [MyAtsortingbute] class TargetClass { }

Comment définir une propriété d’un object dynamic C # 4 lorsque vous avez le nom dans une autre variable

Je cherche un moyen de modifier les propriétés d’un object C # 4.0 dynamic avec le nom de la propriété connu uniquement au moment de l’exécution. Est-il possible de faire quelque chose comme ( ExpandoObject est simplement utilisé comme exemple, cela pourrait être n’importe quelle classe qui implémente IDynamicMetaObjectProvider ): ssortingng key = “TestKey”; dynamic […]

Instancer une classe avec un constructeur interne

J’ai une classe dont le constructeur est défini comme interne, ce qui signifie que je ne peux pas l’instancier. Bien que cela puisse avoir un sens, je voudrais quand même le faire une fois à des fins de débogage et de recherche. Est-il possible de le faire avec Reflection? Je sais que je peux accéder […]