У меня есть определенная-структура, как этотПолучить общедоступные поля?
private struct Combinators
{
public const char DirectChild = '>';
public const char NextAdjacent = '+';
public const char NextSiblings = '~';
public const char Descendant = ' ';
}
Я хочу использовать отражение, чтобы получить список всех значений public const char
полея в структурах (как можно точнее). Как я могу это сделать?
Несомненно, вы не имеете в виду 'null'? Или это разрешено, потому что их const? Вы можете сделать это лучше, используя 'GetFields (BindingFlags.Public)' no? Можете ли вы также ограничить его полями 'char'? – mpen
@Mark, 'BindingFlags.Public' является значением по умолчанию, поэтому вам не нужно его передавать. И вы всегда передаете значение null для полей 'const' или' static' (поскольку аргумент ссылается на * экземпляр *, которого нет). –
Вставка символа '.Where (x => x.FieldType == typeof (char))' между '.GetFields()' и '.ToDictionary (...)' должна ограничивать его символами. – mgbowen