У меня есть коллекция свойств класса, и я хотел бы обновить значение каждого из них, перебирая коллекцию по индексу.
1) Я создаю коллекцию свойств таким образом
private PropertyInfo[] GetPropertiesOfMyClass()
{
Type myType = (typeof(myClass));
PropertyInfo[] PropertyInfoArray = myType.GetProperties(
BindingFlags.Public |
BindingFlags.Instance);
return PropertyInfoArray;
}
2) Теперь я бы хотел установить значение каждого из них, в зависимости от индекса, таким образом
public void UpdateProperty(MyClass instanceOfMyClass, string valueToUpdate, int index)
{
//TODO:
//1. Get an individual property from the GetPropertyOfMyClass() using index
//2. Update the value of an individual property of the instanceOfMyClass
}
Я хотел бы иметь возможность вызвать UpdateProperty из контроллера, как это:
UpdateProperty(instanceOfMyClass, valueToUpdate, indexOfTheProperty);
Честно говоря, я не знаю, как задействовать instanceOfMyClass в игре, поскольку GetProperty играет только с myClass .
Поскольку я увидел, что могу использовать Name, PropertyType, ..., чтобы получить информацию о свойстве.Итак, я попробовал также GetPropertyOfMyClass () [index] .SetValue (...) , но я был потерян в аргументах его конструктора, поэтому я отказался.
Я хочу иметь возможность обновлять значение свойства в моей коллекции, просто используя индекс.
Спасибо за помощь