public enum ContractBusinessType
{
[Description("保密协议")]
[Remark("1")]
[Remarks("14")]
Secrecy = 0,
}
public class RemarkAttribute : System.Attribute
{
public string Remark { get; set; }`在这里插入代码片`
public RemarkAttribute(string remark)
{
this.Remark = remark;
}
}
public class RemarksAttribute : System.Attribute
{
public string Remark { get; set; }
public RemarksAttribute(string remark)
{
this.Remark = remark;
}
}
static void Main(string[] args)
{
var x = ContractBusinessType.Secrecy.GetRemark();
Console.WriteLine(x);
}
public static string GetRemark(this System.Enum value, int flag=0)
{
FieldInfo fi = value.GetType().GetField(value.ToString());
if (fi == null)
return value.ToString();
object[] attributes = null;
switch (flag)
{
case 0:
attributes = fi.GetCustomAttributes(typeof(RemarkAttribute), false);
return attributes.Length > 0 ? ((RemarksAttribute)attributes[0]).Remark : value.ToString();
case 1:
attributes = fi.GetCustomAttributes(typeof(RemarksAttribute), false);
return attributes.Length > 0 ? ((RemarksAttribute)attributes[0]).Remark : value.ToString();
}
return value.ToString();
}