У меня 2 класса. ClassA имеет несколько объектов ClassB , называемых Field01, Field02, ... В классе A также есть список элементов ClassB.
Я знаю имя элементов ClassB и хочу заполнить элементы ClassB значениями из списка.
Пример кода:
public class ClassA
{
public ClassB Field01 {get;set;}
public ClassB Field02 {get;set;}
//...
List<ClassB> myItems;
public void FillItems()
{
foreach(var item in MyItems)
{
// what I want in hardcode:
Field01.ValueA = MyItems[0].ValueA;
Field01.ValueB = MyItems[0].ValueB;
Field02.ValueA = MyItems[1].ValueA;
// ...
}
}
}
public class ClassB
{
public string ValueA {get;set;}
public string ValueB {get;set;}
}
В моем случае я иметь переменную подсчета, которая создаст имена Field01, Field02, Field03, ... в зависимости от того, сколько элементов в моем списке (полей в ClassA всегда достаточно для заполнения)
Я знаю, что могу получить PropertyInfo моих элементов ClassB по имени, но я вас не знаю, я могу получить доступ к атрибутам ClassB ValueA и ValueB
// If ClassB was just a string or object this would work
Type myType = typeof(ClassA);
PropertyInfo myPropInfo = myType.GetProperty("Field01");
myPropInfo.SetValue(this, "Hello", null);