反射在C#中有哪些应用?

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

以下是反射的应用-

  • 它允许在运行时查看视图属性信息。

  • 它允许检查装配中的各种类型并实例化这些类型。

  • 它允许后期绑定到方法和属性

  • 它允许在运行时创建新类型,然后使用这些类型执行一些任务。

System.Reflection命名空间包含一些类,这些类使您可以获取有关应用程序的信息,并为应用程序动态添加类型,值和对象。

让我们也看一个例子。

下面我们设置了目标类的对象-

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 is a positional parameter

      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();

      }

   }

}

输出结果

HelpAttribute

以上是 反射在C#中有哪些应用? 的全部内容, 来源链接: utcz.com/z/345384.html

回到顶部