C# .Net Tutorial attributes������������������������������������������������������������������������������������������������������������

CoderSource.net
C# .Net Tutorial attributes
Rating:

Date: 5/1/2004 12:00:00 AM

C# .Net Tutorial Attributes

   This article deals with the new C# .net features named attributes. This can be used as a Self paced C# .net training or C# tutorial material.

   C# .net Attributes provide a powerful method of associating declarative information with C# code. It can work with types, methods, properties and other language components.

   As a thumb-rule, a class is said to be an attribute class, if it directly or indirectly derives from the System.Attribute class. 

Attributes in C# .net - Sample:

   This C# tutorial on attributes uses custom attributes by defining an attribute class. The class ProductInfo is derived from System.Attribute class. This class contains information about application author and product version. The created class is:


[AttributeUsage(AttributeTargets.All)] 
public class ProductInfo : System.Attribute 

public ProductInfo(double version,string name) 

m_version = version; 
m_authorName = name; 

public double Version 

get { return m_version; } 

private double m_version = 1.00; 
public string AuthorName 

get { return m_authorName; } 

private string m_authorName; 

}


There is a new item in the first line of code. It is an attribute that allows us to use a c# attribute keyword AttributeUsage to all elements of our class (parameter AttributeTargets.All).

   Now we can use these c# attributes in declaration of any other custom class:

[ProductInfo(1.005,"CoderSource"])

public class AnyClass { }

   After creating simple custom type c# attributes, we can get information about all its attributes at runtime. Such run-time information can be pulled out from a class by using the namespace System.Reflection. In main function of our C# tutorial program we can get from our object all information about custom attributes. Next piece of code demonstrate it:


MemberInfo membInfo;
membInfo = typeof(AnyClass);
object [] attributes;
attributes = membInfo.GetCustomAttributes(typeof(ProductInfo),true); 

if(attributes.GetLength(0)!=0) 

ProductInfo pr = (ProductInfo) attributes[0]; 
Console.WriteLine("Product author: {0}",pr.AuthorName); 
Console.WriteLine("Product version; {0}",pr.Version); 

}


  Using standard methods of getting type information and members of his type we can get all custom attributes.

   The example in this C# tutorial uses only one of three library c# attributes (AttributeUsage). It uses only with declaration some custom c# attribute. There is another standard attribute called Conditional. It calls method with that attribute only in case when method application has some needed condition. Most often it is used to define some preprocessor commands (?#?). And the last reserved attribute is Obsolete. It helps us to mark some elements of program that are old to use. These are basic things about attributes and their usage in applications. 

  The attached example can be compiled using Microsoft .NET framework in command line. In the command prompt, type next: csc attributes.cs. The C# compiler must create an executable version of it, since you can run it. Please download the c# sample code from here.

You Can Rate this Article, if you are Logged In      
 

More Links from CoderSource.net:

 
Refer to a Friend:

Your Details:

Name:     e-mail:

Friend Details:

Name:    e-mail:    


MENU
Home
MFC 
C++
.Net
WIN32
Programming
Forum
My Articles
Add to Google
Add to My Yahoo!
Welcome to Community Server Login | Register | Faq  

SEARCH
Google
 

NOTES:


Thanks for visiting our CoderSource.net. This site will be improved with more articles. Interested visitors can also submit their articles through the Submit Article link.Your article will also be published after due consideration by the editor. 

© Copyright 2003. All rights on content reserved by CoderSource.net. Contact    About Us