C# 反射(Reflection)的理解和使用
2021/9/1 17:06:17
本文主要是介绍C# 反射(Reflection)的理解和使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
C# 反射(Reflection)
反射(Reflection) 对象用于在运行时获取类型信息。该类位于 System.Reflection 命名空间中,可访问一个正在运行的程序的元数据。
System.Reflection 命名空间包含了允许您获取有关应用程序信息及向应用程序动态添加类型、值和对象的类。
反射(Reflection)的用途
反射(Reflection)有下列用途:
- 它允许在运行时查看属性(attribute)信息。
- 它允许审查集合中的各种类型,以及实例化这些类型。
- 它允许延迟绑定的方法和属性(property)。
- 它允许在运行时创建新类型,然后使用这些类型执行一些任务。
1.用反射获取类的自定义属性
using System; using System.Linq; namespace ReflectionPractice { [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] public class HelpAttribute : Attribute { public HelpAttribute(){} public HelpAttribute(String Description_in) { this.description = Description_in; } protected String description; public String Description { get { return this.description; } } } [Help("this is a HelpAttribute use class")] public class UseHelpAttribute { } public class UseHelpAttributeDerive : UseHelpAttribute { } class Program { public static void Main(string[] args) { // TODO: Implement Functionality Here //用反射获取类自定义特性 System.Reflection.MemberInfo info = typeof(UseHelpAttributeDerive); object[] attributes = info.GetCustomAttributes(true); for(int i = 0; i < attributes.Length; i++) { Console.WriteLine(attributes[i]); } Console.ReadKey(true); } } }
运行结果:
这篇关于C# 反射(Reflection)的理解和使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID