反射在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
热门推荐
10 毛笔哥哥结婚祝福语简短
11 向国庆送祝福语简短
12 建队节祝福语简短
13 朋友喜得外孙简短祝福语
14 小店营业的祝福语简短
15 餐饮生日祝福语简短独特
16 鲜花英语祝福语卡片简短
17 男朋友暴富祝福语简短
18 婶婶拜年祝福语大全简短