using System;
public class CustomAttribute : Attribute
{
public CustomAttribute (string value)
{
Value = value;
}
public string Value { get; private set; }
}
public enum EnumType
{
[Custom("value1")]
Value1,
[Custom("value2")]
Value2,
[Custom("value3")]
Value3
}
class MainClass
{
static void Main(string[] args)
{
var memInfo = typeof(EnumType).GetMember(EnumType.Value1.ToString());
Console.WriteLine("memInfo length is {0}", memInfo.Length);
var attributes = memInfo[0].GetCustomAttributes(typeof(CustomAttribute), false);
Console.WriteLine("attributes length is {0}", attributes.Length);
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIEN1c3RvbUF0dHJpYnV0ZSA6IEF0dHJpYnV0ZQp7CiAgICBwdWJsaWMgQ3VzdG9tQXR0cmlidXRlIChzdHJpbmcgdmFsdWUpCiAgICB7CiAgICAgICAgVmFsdWUgPSB2YWx1ZTsKICAgIH0KCiAgICBwdWJsaWMgc3RyaW5nIFZhbHVlIHsgZ2V0OyBwcml2YXRlIHNldDsgfQp9CgpwdWJsaWMgZW51bSBFbnVtVHlwZQp7CiAgICBbQ3VzdG9tKCJ2YWx1ZTEiKV0KICAgIFZhbHVlMSwKICAgIFtDdXN0b20oInZhbHVlMiIpXQogICAgVmFsdWUyLAogICAgW0N1c3RvbSgidmFsdWUzIildCiAgICBWYWx1ZTMKfQoKY2xhc3MgTWFpbkNsYXNzCnsKICAgIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykKICAgIHsKICAgICAgICB2YXIgbWVtSW5mbyA9IHR5cGVvZihFbnVtVHlwZSkuR2V0TWVtYmVyKEVudW1UeXBlLlZhbHVlMS5Ub1N0cmluZygpKTsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgibWVtSW5mbyBsZW5ndGggaXMgezB9IiwgbWVtSW5mby5MZW5ndGgpOwogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gbWVtSW5mb1swXS5HZXRDdXN0b21BdHRyaWJ1dGVzKHR5cGVvZihDdXN0b21BdHRyaWJ1dGUpLCBmYWxzZSk7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoImF0dHJpYnV0ZXMgbGVuZ3RoIGlzIHswfSIsIGF0dHJpYnV0ZXMuTGVuZ3RoKTsKICAgIH0KfQo=