namespace BugFixApplication
[AttributeUsage(AttributeTargets.Class |
AttributeTargets.Constructor |
AttributeTargets.Method |
AttributeTargets.Property,
public class DeBugInfo : System.Attribute
private string developer;
private string lastReview;
public DeBugInfo(int bg, string dev, string d)
[DeBugInfo(45, "Zara Ali", "12/8/2012", Message = "Return type mismatch")]
[DeBugInfo(49, "Nuha Ali", "10/10/2012", Message = "Unused variable")]
public Rectangle(double l, double w)
[DeBugInfo(55, "Zara Ali", "19/10/2012", Message = "Return type mismatch")]
[DeBugInfo(56, "Zara Ali", "19/10/2012")]
Console.WriteLine("Length: {0}", length);
Console.WriteLine("Width: {0}", width);
Console.WriteLine("Area: {0}", GetArea());
public class ExecuteRectangle
public static void Main(string[] args)
Rectangle r = new Rectangle(4.5, 7.5);
Type type = typeof(Rectangle);
foreach (Object attributes in type.GetCustomAttributes(false))
DeBugInfo dbi = (DeBugInfo)attributes;
Console.WriteLine("Bug no: {0}", dbi.BugNo);
Console.WriteLine("Developer: {0}", dbi.Developer);
Console.WriteLine("Last Reviewed: {0}", dbi.LastReview);
Console.WriteLine("Remarks: {0}", dbi.Message);
foreach (MethodInfo m in type.GetMethods())
foreach (Attribute a in m.GetCustomAttributes(true))
DeBugInfo dbi = (DeBugInfo)a;
Console.WriteLine("Bug no: {0}, for Method: {1}", dbi.BugNo, m.Name);
Console.WriteLine("Developer: {0}", dbi.Developer);
Console.WriteLine("Last Reviewed: {0}", dbi.LastReview);
Console.WriteLine("Remarks: {0}", dbi.Message);