Я хочу получить доступ к FieldInfo, для атрибутов CustomAttributes, которые находятся в поле, и в других целях, но я бы предпочел не использовать строку для доступа к этому полю, для выполнения всех полей в классе.Как получить поле FieldInfo поля из значения
Если я просто,
class MyClass
{
#pragma warning disable 0414, 0612, 0618, 0649
private int myInt;
#pragma warning restore 0414, 0612, 0618, 0649
public MyClass()
{
BindingFlags flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
Console.WriteLine(GetType().GetField("myInt", flags));
foreach(FieldInfo fi in GetType().GetFields(flags))
{
Console.WriteLine(string.Format("{0} {1} {2}", fi.Name, myInt, fi.GetValue(this)));
}
}
}
Я знаю, что я могу получить доступ к FieldInfo из «Минт» непосредственно с помощью функции «ПолучитьПолеЗаголовка», если у меня есть строка это имя, или езда на велосипеде через «GetFields» , который снова будет полагаться на строку «myInt», чтобы убедиться, что у вас есть правильное поле.
Есть ли какой-либо магии, которая доступна как ref myInt
или out myInt
, или некоторые ключевые слова, которые я не знаю о еще, которые дали бы мне доступ, или я ограничивается нуждаясь имя строки, чтобы получить его?
Знаете ли вы поле для получения информации раньше времени? – TYY