C#中的反射是什么?

反射对象用于在运行时获取类型信息。可以访问正在运行的程序的元数据的类位于System.Reflection命名空间中。

系统的 MemberInfo 对象。需要初始化反射类以发现与类关联的属性。

在下面的例子中,我们设置了目标类的对象 -

System.Reflection.MemberInfo info = typeof(MyClass);

这是示例 -

示例

using System;

using System.Reflection;

[AttributeUsage(AttributeTargets.All)]

public class HelpAttribute :System.Attribute{

   public readonly string Url;

   public string Topic { // 主题是一个命名参数

   get {

      return topic;

   }

   set {

      topic = value;

   }

}

public HelpAttribute(string url) { // url 是一个位置参数

   this.Url = url;

}

private string topic;

}

[HelpAttribute("Information on the class MyClass")]

   class MyClass {

}

namespace AttributeAppl {

   class Program {

      static void Main(string[] args) {

         System.Reflection.MemberInfo info = typeof(MyClass);

         object[] attributes = info.GetCustomAttributes(true);

         for (int i = 0; i < attributes.Length; i++) {

            System.Console.WriteLine(attributes[i]);

         }

         Console.ReadKey();

      }

   }  

}

以上是 C#中的反射是什么? 的全部内容, 来源链接: utcz.com/z/357924.html

回到顶部