Динамически добавьте вложенный класс T и заполните его другим классом T (GetProperty, GetType, SetValue)
Я просто хочу передать класс T в качестве параметра. Пример:
от:
SetValue (Car.parts, "двигатель");
чтобы:
SetValue (T.partes, "двигатель");
просто передайте свой вложенный класс универсального в качестве параметра.
Огромное спасибо за помощь.
ЗДЕСЬ ПОДРОБНО. но мне просто нужен лучший.
Добрый день, я хотел бы динамически заполнить класс T некоторыми значениями. вот мой пример:
Этот класс знаком.
Модель модели класса = new ClassModel ();
имеет вложенный класс
model.autos = new ClassModel.Auto ();
Написать ClassModel = typeof (ClassModel);
var AutoClass = ModelClass.GetProperty ("autos");
var AutoProp = Type.GetType (ClaseAuto.GetMethod.ReturnType.FullName).GetProperties ();
AutoProp [0].SetValue (model.autos, 1);
// здесь это работает и передает параметр, но если бы это был класс T Как бы передать значение для автомобилей? пример:
AutoProp [0].SetValue (T.autos, 1);
где автомобили неизвестны, потому что класс T. и в то же время заполнить класс T, который легче идентифицировать и заполнить, так как первый T соответствует классу.
ClassModel.SetValue (T, AutoProp);
после этого, чтобы подтвердить успех переменной передается переменной, когда процесс завершается
/ * Как только мой класс восстановлен, я уже знаю все его методы, но внутри класса T я не знаю методы, но я отправляю автомобили класса по имени = "autos", и поэтому я узнаю это, но я все еще не знаю как передать значения. * / int result = model.autos.id;
Большое спасибо за предоставленную помощь.
1 ответ
Просто класс T вы получите вложенный класс, а затем, если вы хотите больше всех его значений, как обычный класс, добавьте GetValue (T) и готовы передать класс, как если бы он был нормальным классом.
класс тестирует одну дочь класса T
SetValue (T.GetType (). GetProperty ("доказательство").GetValue(T), 1);