代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
namespace CustomAttributeConApp
{
class Program
{
static void Main(string[] args)
{
MemberInfo info = typeof(MyClass);
CodeProgramAttribute attr = (CodeProgramAttribute)Attribute.GetCustomAttribute(info, typeof(CodeProgramAttribute));
if (attr != null)
{
Console.WriteLine("类\"MyClass\"应用\"CodeProgramAttribute\"属性,参数如下:\n");
Console.WriteLine("reviewer:" + attr.Reviewer);
Console.WriteLine("date:" + attr.Date.ToString());
Console.WriteLine("comment:" + attr.Comment);
}
else
{
Console.WriteLine("类\"MyClass\"没有应用\"CodeProgramAttribute\"属性");
}
Console.ReadKey();
}
}
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class CodeProgramAttribute : Attribute
{
private string reviewer; //代码检查人
private CheckTime date; //日期
private string comment; //评价
public CodeProgramAttribute(string reviewer, CheckTime date)
{
this.reviewer = reviewer;
this.date = date;
}
public string Reviewer
{
get
{
return reviewer;
}
}
public CheckTime Date
{
get
{
return date;
}
}
public string Comment
{
get
{
return comment;
}
set
{
comment = value;
}
}
}
public enum CheckTime
{
am = 1,
pm = 2
}
[CodeProgram("张三", CheckTime.pm, Comment = "检查情况比较好!")]
public class MyClass
{
public static void Do()
{
Console.WriteLine("做完了一件事情!");
}
}
}
等待更新...