Запитання з тегом «reflection»

Рефлексія - це здатність програми спостерігати та / або змінювати її структуру та / або поведінку під час виконання. Відображення залежить від підтримуючої мови програмування - будь ласка, позначте мову програмування, яка використовується при використанні цього тегу.

6
Встановити значення приватного поля з відображенням
У мене є 2 класи: FatherіChild public class Father implements Serializable, JSONInterface { private String a_field; //setter and getter here } public class Child extends Father { //empty class } З рефлексією я хочу поставити a_fieldв Childкласі: Class<?> clazz = Class.forName("Child"); Object cc = clazz.newInstance(); Field f1 = cc.getClass().getField("a_field"); f1.set(cc, …
82 java  reflection 

5
Правильний спосіб завантаження методу складання, пошуку класу та виклику ()
Зразок консольної програми. class Program { static void Main(string[] args) { // ... code to build dll ... not written yet ... Assembly assembly = Assembly.LoadFile(@"C:\dyn.dll"); // don't know what or how to cast here // looking for a better way to do next 3 lines IRunnable r = assembly.CreateInstance("TestRunner"); …
81 c#  .net  reflection 

6
'кастинг' з відображенням
Розглянемо такий зразок коду: class SampleClass { public long SomeProperty { get; set; } } public void SetValue(SampleClass instance, decimal value) { // value is of type decimal, but is in reality a natural number => cast instance.SomeProperty = (long)value; } Тепер мені потрібно зробити щось подібне через роздуми: void …
81 c#  reflection  casting 

9
Отримати властивості в порядку оголошення за допомогою відображення
Мені потрібно отримати всі властивості, використовуючи відображення в тому порядку, в якому вони оголошені в класі. Згідно з MSDN, замовлення не може бути гарантоване під час використанняGetProperties() Метод GetProperties не повертає властивості в певному порядку, наприклад алфавітному порядку чи порядку декларування. Але я вже читав, що є обхідний шлях шляхом …

4
Отримати шляхом відображення властивості класу, але не з успадкованого класу
class Parent { public string A { get; set; } } class Child : Parent { public string B { get; set; } } Мені потрібно отримати лише властивість B, без майна A, але Child.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance) повернути обидва властивості: /
80 c#  reflection 

1
Отримати всі властивості, які позначили певний атрибут
У мене там клас і властивості. Деякі властивості можна позначити атрибутом (це моя LocalizedDisplayNameспадщина від DisplayNameAttribute). Це метод отримання всіх властивостей класу: private void FillAttribute() { Type type = typeof (NormDoc); PropertyInfo[] propertyInfos = type.GetProperties(); foreach (var propertyInfo in propertyInfos) { ... } } Я хочу додати властивості класу у …
80 c#  reflection 


9
Gson TypeToken з динамічним типом елемента ArrayList
У мене є такий код: Type typeOfObjectsList = new TypeToken<ArrayList<myClass>>() {}.getType(); List<myClass> objectsList = new Gson().fromJson(json, typeOfObjectsList); Він перетворює рядок JSON в a Listз об'єктів. Але зараз я хочу мати це ArrayListз динамічним типом (не просто myClass), визначеним під час виконання. В ArrayList«S тип елемента буде визначатися з відображенням . …

5
Як я можу отримати загальний тип із подання рядка?
Я маю MyClass<T>. І тоді у мене це є string s = "MyClass<AnotherClass>";. Як я можу отримати Type із рядка s? Один із способів (потворний) - проаналізувати "<" та ">" і виконати: Type acType = Type.GetType("AnotherClass"); Type whatIwant = typeof (MyClass<>).MakeGenericType(acType); Але чи є більш чистий спосіб отримати остаточний тип …
79 c#  reflection  types 

7
Завдання-C Самоаналіз / рефлексія
Чи існує вбудований метод, функція, API, загальновизнаний спосіб тощо для скидання вмісту екземпляра об’єкта в Objective-C, зокрема в середовищі Apple Cocoa / Cocoa-Touch? Я хочу мати можливість зробити щось подібне MyType *the_thing = [[MyType alloc] init]; NSString *the_dump = [the_thing dump]; //pseudo code NSLog("Dumped Contents: %@", the_dump); і відображати імена …

2
Як десеріалізація WCF створює екземпляри об’єктів без виклику конструктора?
З десериалізацією WCF відбувається якась магія. Як він створює екземпляр екземпляра типу контракту даних, не викликаючи його конструктор? Наприклад, розглянемо цей контракт даних: [DataContract] public sealed class CreateMe { [DataMember] private readonly string _name; [DataMember] private readonly int _age; private readonly bool _wasConstructorCalled; public CreateMe() { _wasConstructorCalled = true; } …

6
Чому рефлексію називають рефлексією, а не самоаналізом?
Яке походження терміна рефлексія? Це більше схоже на самоаналіз. Чому це не так називається? Самоаналіз : погляд всередину; зокрема, акт або процес самоперевірки. Відображення : акт відображення або стан відображення. зображення; представництво; відповідник фіксація думок на чомусь; ретельний розгляд думка, що виникає при розгляді або медитації.

6
Роздуми щодо визначення методів розширення
У C # існує техніка, що використовує відображення, щоб визначити, чи метод був доданий до класу як метод розширення? З огляду на такий метод розширення, як показано нижче, чи можна визначити, що Reverse () було додано до класу рядків? public static class StringExtensions { public static string Reverse(this string value) …

10
Отримати значення властивості з динамічного об’єкта C # за допомогою рядка (відображення?)
Уявіть, що у мене є динамічна змінна: dynamic d = *something* Тепер я створюю властивості, для dяких я маю, з іншого боку, масив рядків: string[] strarray = { 'property1','property2',..... } Я не знаю назви майна заздалегідь. Як у коді, після dстворення та витягування strarray з БД, я можу отримати значення? …


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.