c#反射用法例子
来源:互联网 发布:网络平台广告收费标准 编辑:程序博客网 时间:2024/04/29 04:36
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace RefDemo
{
class Program
{
static void Main(string[] args)
{
//通过反射得到 RefDemo.Test 类的类型(有两种方式)
//第一种方式:获取当前正在运行的程序集中的类型,类型为“命名空间.类型”
//Type type = Assembly.GetExecutingAssembly().GetType("RefDemo.Test");
//第二种方式:加载指定的程序集,再获取其中的类型,Load()方法中的参数为程序集名称
Type type = Assembly.Load("RefDemo").GetType("RefDemo.Test");
//通过反射调用Test类的静态方法StaticMethod
type.GetMethod("StaticMethod").Invoke(null, null);
//通过反射创建 RefDemo.Test 类的对象(不带参的构造函数)
object obj = Assembly.GetExecutingAssembly().CreateInstance("RefDemo.Test");
//通过反射调用 obj 对象的 TestMethod3 方法,不带参数
type.GetMethod("TestMethod2").Invoke(obj, null);
//通过反射调用 obj 对象的 TestMethod3 方法,并传一个参数(值为 aaa )
type.GetMethod("TestMethod3").Invoke(obj, new object[] { "aaa" });
//通过调用带参的构造函数来得到对象
ConstructorInfo ci = type.GetConstructor(new Type[] { typeof(string) });
object test = ci.Invoke(new object[] { "bbb" });
type.GetMethod("TestMethod3").Invoke(test, new object[] { "bbb" });
}
}
public class Test
{
public static void StaticMethod()
{
Console.WriteLine("StaticMethod方法的输出");
}
public static void TestMethod2()
{
Console.WriteLine("TestMethod2方法的输出");
}
public static void TestMethod3(string str)
{
Console.WriteLine(str);
}
public Test(string str)
{
this._str = str;
}
string _str;
public void GetStr()
{
Console.WriteLine(this._str);
}
public Test()
{
}
}
}
- c#反射用法例子
- c# 反射简单用法例子
- c#反射入门例子
- C#反射例子
- C#反射属性例子
- C#反射属性例子
- C# 反射例子
- C#反射属性例子
- C#反射简单例子
- c# 反射的用法
- C#反射的用法
- c# 反射的用法
- C#反射的用法
- c# 反射的用法
- C# 反射的用法
- c# 反射的用法
- c# 反射的用法
- c# 反射的用法
- 解析Excel和Dbf
- 【asp】IIS 5.1 XP
- 预编译头文件PCH
- android.os.handler相关知识整理
- stringstream 的用法介绍
- c#反射用法例子
- php 读取excel中的内容到mysql 数据库
- IntelliJ IDEA 的 “File structure popup”
- 谈谈嵌入式系统PCB设计中的阻抗匹配与0欧电阻
- 第一篇博客
- Spring的七大模块
- aaa
- C++ 事件机制实现
- 如何取得一个浏览器浏览区域的大小