У меня есть класс, который имеет большое количество статических полей определенного типа, скажем, Foo
.Чтобы упростить и сократить код, я подумал о том, чтобы поместить их в массив (т.е., конечно, их ссылки).
Я могу сделать это, просто записав каждое имя поля в явном виде и поместив их в Список / Массив ... (т.е. myList.Add(this.A)
) .. но так как у меня много этих полей, и они иногда меняются,хочу сделать все это через Reflection .. должно быть возможно, нет?
public class MyClass
{
public static Foo A = new Foo(...);
public static Foo B = new Foo(...);
public static Foo C = new Foo(...);
(...)
public List<Foo> getFoos()
{
MemberInfo[] allFooFields = typeof(MyClass).GetFields();
// Fill In Foo Fields into a List
var listOfFooFields = new List<Foo>;
// ???
return listOfFooFields;
}
}