Я пишу код для конструктора классов, который перебирает все свойства класса и вызывает общий статический метод, который заполняет мой класс данными из внешнего API. Итак, я получил это как пример класса:
public class MyClass{
public string Property1 { get; set; }
public int Property2 { get; set; }
public bool Property3 { get; set; }
public static T DoStuff<T>(string name){
// get the data for the property from the external API
// or if there a problem return 'default(T)'
}
}
Теперь в моем конструкторе я хочу что-то вроде этого:
public MyClass(){
var properties = this.GetType().GetProperties();
foreach(PropertyInfo p in properties){
p.SetValue(this, DoStuff(p.Name), new object[0]);
}
}
Таким образом, указанный выше конструктор выкинет ошибку, потому что я не поставляю родовой тип.
Итак, как мне передать тип свойства в?