public void ReflectionEnumTest() { Func <MemberInfo, bool> filter = member => member.MemberType == MemberTypes.TypeInfo || member.MemberType == MemberTypes.Field || member.MemberType == MemberTypes.Property; var t = typeof(NormalValueTypeClass); var m0 = (MemberInfo)t; var allMembers = t.GetMembers().Where(filter).ToList(); allMembers.ShouldNotBeNull(); allMembers.ShouldNotBeEmpty(); var m1 = allMembers.Single(x => x.Name == nameof(NormalValueTypeClass.Int99V1)); var m2 = allMembers.Single(x => x.Name == nameof(NormalValueTypeClass.Int99V2)); var m3 = allMembers.Single(x => x.Name == nameof(NormalValueTypeClass.Int99V3)); var m4 = allMembers.Single(x => x.Name == nameof(NormalValueTypeClass.Int99V4)); var m5 = allMembers.Single(x => x.Name == nameof(NormalValueTypeClass.Str)); m1.MemberType.ShouldBe(MemberTypes.Property); m2.MemberType.ShouldBe(MemberTypes.Field); m3.MemberType.ShouldBe(MemberTypes.Property); m4.MemberType.ShouldBe(MemberTypes.Field); m5.MemberType.ShouldBe(MemberTypes.Property); TypeReflections.IsEnum(m0).ShouldBeFalse(); TypeReflections.IsEnum(m1).ShouldBeTrue(); TypeReflections.IsEnum(m2).ShouldBeTrue(); TypeReflections.IsEnum(m3).ShouldBeFalse(); TypeReflections.IsEnum(m4).ShouldBeFalse(); TypeReflections.IsEnum(m3, TypeIsOptions.IgnoreNullable).ShouldBeTrue(); TypeReflections.IsEnum(m4, TypeIsOptions.IgnoreNullable).ShouldBeTrue(); TypeReflections.IsEnum(m5).ShouldBeFalse(); }
public static bool IsEnum(PropertyInfo info) { return(TypeReflections.IsEnum(info)); }
public static bool IsEnum(MemberInfo info) { return(TypeReflections.IsEnum(info)); }