Mega Code Archive

 
Categories / C# Tutorial / Attribute
 

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);         }     } } Reviewer: Name2 Date: 01-01-2012 Comment: comment2 Reviewer: Name1 Date: 01-12-2000 Comment: comment1