Я пытаюсь извлечь перечисления, объявленные в классах, выполняя:
class Program
{
static void Main(string[] args)
{
var type = typeof(A);
var declaredPublicMembers = type.GetMembers(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.DeclaredOnly);
var enums = declaredPublicMembers.Where(m => m.GetType().IsEnum).ToList();
Console.WriteLine();
}
}
public class A
{
public enum eTest
{
a,
b,
c
}
public int Num { get; set; }
public Dictionary<int,string> Dic { get; set; }
}
, но мой IsEnum продолжает отображать значение false.
Во время отладки, после преобразования объявленного элементаublicPublicMembers [0] вSystem.RuntimeType, я могу успешно проверить, является ли тип перечислением.
Но System.RuntimeType
не является общедоступным, так как мне выполнить эту задачу?
