反射 Module类详解
来源:互联网 发布:ubuntu vi 撤销命令 编辑:程序博客网 时间:2024/05/26 14:09
配合官方注解来看,效果更好:https://msdn.microsoft.com/zh-cn/library/f7ykdhsy(v=vs.110).aspx
模块信息是通过Module类访问的。下面通过一个类子,讲解下Module类的使用,如果你是一个用心的程序员,应该了解下Module的详细信息。
还是继续使用C#反射(一)的类子。下面我们写一个新的文件ModuleDemo.cs。内容如下:
//编译命令 csc /r:Sport.dll ModuleDemo.cs
using System;
using System.Reflection;
public class ModuleDemo
{
public static void Main(string[] args)
{
//=======================
// Am Module object is obtained representing the
// SomeSports.dll library file
//=======================
Assembly assembly = Assembly.Load("SomeSports");
Module module = assembly.GetModule("SomeSports.dll");
//======================
//Search the module for the type named "Football"
Type[] types = module.FindTypes(Module.FilterTypeName,"Football");
if(types.Length != 0)
{
ConstructorInfo ci = types[0].GetConstructor(new Type[0]);
Sport sport = (Sport)ci.Invoke(new Object[0]);
Console.WriteLine(sport.GetName() + " has "+sport.GetDuration());
}
else
{
Console.WriteLine("type not found");
}
}
}
我们用csc /r:Sport.dll ModuleDemo.cs编译,然后用MouduleDemo运行程序就能看到如下输出:Football has four 15 minute quarters。
关于C#反射的基础知识,还有一个知识点就是访问未知对象的类型信息。
- 反射 Module类详解
- 反射 Module类详解
- $MODULE详解
- java之 ------ 类反射【详解】
- java之 ------ 类反射【详解】
- java反射Class类详解
- 反射详解
- 反射详解
- 反射详解
- 反射详解
- 反射详解
- 反射详解
- 反射详解
- 反射详解
- 反射详解
- 反射详解!
- 反射详解
- Checkstyle-module配置详解
- java web log4j配置
- MapReduce求平均值
- 多控制器管理, UINavigationController
- cocos2dx3.0 mac环境下安卓打包
- log4j:WARN No appenders could be found for logger 解决方案
- 反射 Module类详解
- XCode6编译opencore
- 数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
- c++字符串的4种方法
- SLF4J 和log4j
- TextArea剩余字数显示并提示
- Can not perform this action after onSaveInstanceState(fragment异常)
- clang static analyzer
- hdu 3506 Monkey Party(dp四边形优化)