C # propertyinfo. Attributes

Source: Internet
Author: User

Propertyinfo. Attributes attributes

This attribute indicates the features associated with members. All members have feature sets defined relative to specific member types. The attribute feature allows you to know whether this attribute is a default attribute or a specialname attribute.

To obtain the attributes attribute, first obtain the class type. Obtain propertyinfo from type. Obtain the properties from propertyinfo.

Official example: Get the features of a class

 1 using System; 2 using System.Reflection; 3  4 public class Myproperty 5 { 6     private string caption = "Default caption"; 7     public string Caption 8     { 9         get{return caption;}10         set {if(caption!=value) {caption = value;}11         }12     }13 }14 15 class Mypropertyinfo16 {17     public static int Main(string[] args)18     {19         Console.WriteLine("\nReflection.PropertyInfo");20 21         // Define a property.22         Myproperty Myproperty = new Myproperty();23         Console.Write("\nMyproperty.Caption = " + Myproperty.Caption);24 25         // Get the type and PropertyInfo.26         Type MyType = Type.GetType("Myproperty");27         PropertyInfo Mypropertyinfo = MyType.GetProperty("Caption");28 29         // Get and display the attributes property.30         PropertyAttributes Myattributes = Mypropertyinfo.Attributes;31 32         Console.Write("\nPropertyAttributes - " + Myattributes.ToString());33 34         return 0;35     }36 }

Official reference: http://msdn.microsoft.com/zh-cn/library/system.reflection.propertyinfo.attributes

Example: Note: It seems that the field is invalid.

Create a class user first

 1 namespace ClassLibrary1 2 { 3     public class User     4     {        5         private int userid = 1; 6         public int Userid 7         {  8             get { return userid; } 9             set { userid = value; }10         }  11         private string userName = "jghg";       12         public string UserName{13             get { return userName; } 14             set { userName = value; }15         }16         private string address = "ghjghj";17         public string Address{ 18             get { return address; } 19             set { address = value; }20         }        21         private string email = "jhgjhg";22         public string Email{23             get { return email; }24             set { email = value; }25         }26         private string phone = "ghjgjg";27         public string Phone28         { 29             get { return phone; }30             set { phone = value; }31         }32     }33 }

Then, get the class attributes in the main program and read the code.

 1 namespace ConsoleApplication2 {  2     class Program {  3         static void Main(string[] args)  4         {  5             Type type = typeof(ClassLibrary1.User);  6             object obj = Activator.CreateInstance(type);  7             PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);  8             foreach (PropertyInfo p in props) {  9                 Console.WriteLine(p.Name); 10             } 11             Console.ReadLine(); 12         }13     } 14 }

Namespace needs to be introduced:

Using system. reflection;

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.