Reflection describes how to check and process data during running.ProgramElement.
First, understand the following features:
Class program {private string myname; // <summary> // pass the first parameter to the constructor, the following parameters are all attributes or fields // </Summary> [myfieldname ("jiangzhen", A = "ABC")] Public String myname {get {return myname ;}} static void main (string [] ARGs) {program P = new program ();}} /// <summary> // attributeusage is a metadata feature (because it can only be applied to other features) /// </Summary> /// allowmultiple indicates whether the feature can be applied to an element multiple times. // inherited indicates that the subclass of the feature application class also takes effect. [attributeusage (attributetargets. property | attributetargets. field, allowmultiple = false, inherited = false)] public class myfieldnameattribute: attribute {private string name; Public myfieldnameattribute (string name) {This. name = Name;} public string ;}