private static void TestMyEnum() { Console.WriteLine(MethodBase.GetCurrentMethod().Name); MyEnum foo = default; var resA1 = foo.GetAnnotation <MyEnum>(); var resA2 = MyEnum.Value1.GetAnnotation <MyEnum>(); var resA3 = foo.GetAnnotation <MyEnum>("Value2"); Console.WriteLine($"{nameof(resA1)}: {resA1}"); Console.WriteLine($"{nameof(resA2)}: {resA2}"); Console.WriteLine($"{nameof(resA3)}: {resA3}"); var resB1 = typeof(MyEnum).GetAnnotation(); var resB2 = foo.GetType().GetAnnotation(); var resB3 = typeof(MyEnum).GetAnnotation("Value3"); var resB4 = foo.GetType().GetAnnotation("Value1"); Console.WriteLine($"{nameof(resB1)}: {resB1}"); Console.WriteLine($"{nameof(resB2)}: {resB2}"); Console.WriteLine($"{nameof(resB3)}: {resB3}"); Console.WriteLine($"{nameof(resB4)}: {resB4}"); }