I am trying to extract enumerations declared in classes, doing:
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; }
}
but my IsEnum keeps rendering false.
While debugging, upon converting the declaredPublicMembers[0] element to a System.RuntimeType, I am able to successfully check that the type is an enumeration.
But System.RuntimeType
is not public, so how do I accomplish this task?