C# 反射功能
来源:互联网 发布:unity3d怎么播放动画 编辑:程序博客网 时间:2024/06/05 23:01
C#中的反射使用主要集中在System.Reflection命名空间中,通过获取对象的属性和方法并创建对象来调用对应的函数等功能,方法主要集中在如下类:
MethodInfo:获取类的方法
Type:获取类的类型
ConstructInfo:获取该类的构造方法用于创建对象。
完整的示例如下:
class A { public void TestMethod1(string msg) { Console.WriteLine("class A::TestMethod1:{0}", msg); //类内方法反射调用类内的方法 Type className = this.GetType(); MethodInfo method = className.GetMethod("TestMethod2", BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); method.Invoke(this, new object[] {msg}); } public void TestMethod2(string msg) { Console.WriteLine("class A::TestMethod2:{0}",msg); } } class Program { static void Main(string[] args) { Type className = Type.GetType("ConsoleApplication1.a", false, true); MethodInfo method = className.GetMethod("TestMethod1", BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); ConstructorInfo magicConstruct = className.GetConstructor(Type.EmptyTypes); object classobj = magicConstruct.Invoke(new object[] { }); method.Invoke(classobj, new object[] { "test abc" }); Console.WriteLine("class:{0}", className.GUID.ToString()); Console.ReadLine(); } }
0 0
- C# 反射功能
- 使用C++模拟实现 C# 中的反射功能
- C# 反射
- C#反射
- C# 反射
- C#反射
- C#反射
- C# 反射
- C#反射
- c#反射
- c#反射
- C#反射
- c# 反射
- C# 反射
- c# 反射
- C#反射
- C#反射
- C#反射
- input子系统---按键程序详解
- leetCode 4. Median of Two Sorted Arrays
- APUE第一章 UNIX基础知识
- Document对象内容集合
- JAVA——String与StringBuffer以及StringBuilder
- C# 反射功能
- ZJU oj 2970 Faster, Higher, Stronger(水题)
- 【学习 OpenCV】—— 将一个3通道的像素点转换到新的彩色空间
- 算法分析-最大子序列
- 归并排序的分治算法与时间复杂度分析
- Node.js + MongoDB + AngularJS - 2 Javascript基础
- 核心动画介绍
- platform平台总线---led实验实例
- 测试私有继承的情况下,private virtual members 的访问权限