Reflecting on Attributes : Attributes Reflection : Attribute C# Examples


C# Examples » Attribute » Attributes Reflection »

 

Reflecting on Attributes









    
//Code  revised  from  
//A  Programmer's  Introduction  to  C#  2.0,  Third  Edition

using  System;
using  System.Reflection;

[AttributeUsage(AttributeTargets.Class,  AllowMultiple=true)]

public  class  CodeReviewAttribute:  System.Attribute
{
        public  CodeReviewAttribute(string  reviewer,  string  date)
        {
                this.reviewer  =  reviewer;
                this.date  =  date;
        }
        public  string  Comment
        {
                get
                {
                        return(comment);
                }
                set
                {
                        comment  =  value;
                }
        }
        public  string  Date
        {
                get
                {
                        return(date);
                }
        }
        public  string  Reviewer
        {
                get
                {
                        return(reviewer);
                }
        }
        string  reviewer;
        string  date;
        string  comment;
}

[CodeReview("Name1",  "01-12-2000",  Comment="comment1")]
[CodeReview("Name2",  "01-01-2012",  Comment="comment2")]
class  Complex
{
}

class  MainClass
{
        public  static  void  Main()
        {
                Type  type  =  typeof(Complex);
                foreach  (CodeReviewAttribute  att  in
                type.GetCustomAttributes(typeof(CodeReviewAttribute),  false))
                {
                        Console.WriteLine("Reviewer:  {0}",  att.Reviewer);
                        Console.WriteLine("Date:  {0}",  att.Date);
                        Console.WriteLine("Comment:  {0}",  att.Comment);
                }
        }
}
    
   
  
   



Output

Reviewer: Name2
Date: 01-01-2012
Comment: comment2
Reviewer: Name1
Date: 01-12-2000
Comment: comment1


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Attribute
» Attributes Reflection