C#自省
【C#自省】
1、根据string,获取type。Type.GetType 方法,获取具有指定名称的 Type,执行区分大小写的搜索。

2、根据obj,获取type。Object.GetType 方法,获取当前实例的 Type。

int n1 = ;
int n2 = ;
long n3 = ; Console.WriteLine("n1 and n2 are the same type: {0}",
Object.ReferenceEquals(n1.GetType(), n2.GetType()));
Console.WriteLine("n1 and n3 are the same type: {0}",
Object.ReferenceEquals(n1.GetType(), n3.GetType()));
// The example displays the following output:
// n1 and n2 are the same type: True
// n1 and n3 are the same type: False
3、根据type,创建obj。Activator.CreateInstance 方法。

4、根据type,获取所有public 成员变量。Type.GetField 方法。

5、根据FieldInfo与string,设置obj的成员变量。FieldInfo.SetValue 方法。

6、根据obj,获取期成员变量类型。FieldInfo.FieldType 属性。

结果为某个基元数据类型,如 String、Boolean 或 GUID。若要获取 FieldType 属性,请先获取 Type 类。 从 Type 获取 FieldInfo。 从 FieldInfo 获取 FieldType 值。
using System;
using System.Reflection; // Make a field.
public class Myfield
{
private string field = "private field";
} public class Myfieldinfo
{
public static int Main()
{
Console.WriteLine ("\nReflection.FieldInfo");
Myfield Myfield = new Myfield(); // Get the type and FieldInfo.
Type MyType = typeof(Myfield);
FieldInfo Myfieldinfo = MyType.GetField("field",
BindingFlags.Instance|BindingFlags.NonPublic); // Get and display the FieldType.
Console.Write ("\n{0}.", MyType.FullName);
Console.Write ("{0} - ", Myfieldinfo.Name);
Console.Write ("{0};", Myfieldinfo.GetValue(Myfield));
Console.Write ("\nFieldType = {0}", Myfieldinfo.FieldType);
return ;
}
}
7、获取所继承的接口。Type.GetInterfaces 方法。

参考:http://msdn.microsoft.com/zh-cn/library/6z33zd7h(v=vs.110).aspx
C#自省的更多相关文章
- Python语言特性之5:自省
自省是Python中非常耀眼的特性. 自省就是面向对象的语言所写的程序在运行时,所能知道对象的类型.简单一句就是运行时能够获得对象的类型.比如 type() dir() getattr() hasat ...
- Python自省(反射)指南
在笔者,也就是我的概念里,自省和反射是一回事,当然其实我并不十分确定一定以及肯定,所以如果这确实是两个不同的概念的话,还请多多指教 :) 转载请注明作者.出处并附上原文链接,多谢!update 201 ...
- python自省指南
深入python中对自省的定义: python的众多强大功能之一,自省,正如你所知道的,python中万物皆对象,自省是指代码可以查看内存中以对象形式存在的其他模块和函数,获取它们的信息,并对它们进行 ...
- python 学习笔记 9 -- Python强大的自省简析
1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...
- Python强大的自省简析
1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:"见贤思齐焉,见不贤而内自省也."(<论语·里仁> ...
- 第5章 令牌自省端点(Token Introspection Endpoint) - IdentityModel 中文文档(v1.0.0)
OAuth 2.0令牌自省的客户端库是作为HttpClient扩展方法提供的. 以下代码将引用令牌发送到内省端点: var client = new HttpClient(); var respons ...
- Python自省
自省就是通过一定机制查询到对象的内部结构,也就是运行时获取对象内部的属性以及类型,在Python中dir(),type(), hasattr(), isinstance()都是很好的自省例子 #!/u ...
- day25 Python四个可以实现自省的函数,反射
python面向对象中的反射:通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) 四个可以实现自省的函数 下列方法适用于类和对象(一切皆对象,类本身也是一个对象) ...
- [py]python自省工具
参考 在日常生活中,自省(introspection)是一种自我检查行为.自省是指对某人自身思想.情绪.动机和行为的检查.伟大的哲学家苏格拉底将生命中的大部分时间用于自我检查,并鼓励他的雅典朋友们也这 ...
- MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具
mybatis – MyBatis 3 | 日志 http://www.mybatis.org/mybatis-3/zh/logging.html MyBatis 内置日志工厂基于运行时自省机制选择合 ...
随机推荐
- PAT 1006 换个格式输出 C语言
让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个“百”. ...
- centos下svn的主要常用命令(解决商城系统添加的文件无法自动更新至svn服务器)
问题描述: 在商城中通过网页上传的png文件无法自动添加到版本库中. 查找过程: 通过程序分析,增加的主要是数据文件,主要分布在data目录中. svn list /home/ggg --depth= ...
- 初学HTML之HTML介绍
众所周知现在的H5.大数据.云计算都是热门的.其实想学好一门语言重点是多看多想多写多练. 我在博客中会从基础开始讲解HTML4.0.中间加入HTML5的新标签 在这先给大家推荐几个开发工具: note ...
- 解决Oracle的http://localhost:1158/em页面打不开的问题
https://localhost:1158/em 无法显示页面,在网上查阅资料以后发现这个页面时由服务:OracleDBConsoleoracl控制的,所以到管理界面打开服务:OracleDBCon ...
- OPCDAAuto.dll 的一个坑
最近项目需要对SCADA系统的下位机采集实时数据,常见做法是两种,一种采用ModBus RTU/TCP协议直接通过支持ModBus的下位机通信,一种是通过OPC规范,使用厂商提供的OPC Server ...
- FPGA与图像处理
用FPGA做图像处理最关键的一点优势就是:FPGA能进行实时流水线运算,能达到最高的实时性.因此在一些对实时性要求非常高的应用领域,做图像处理基本就只能用FPGA.例如在一些分选设备中图像处理基本上用 ...
- 通俗讲讲FPGA
通俗讲讲什么是FPGA. FPGA出现之前,所有集成电路都可以看成雕塑家,但是雕成一个成品,往往要浪费很多半成品和原料,这就是ASIC的制造. 后来FPGA出现了,FPGA就是块橡皮泥,什么硬件电路都 ...
- 汇编_指令_LEA和MOV的区别
就是目标地址传送指令: 将一个近地址指针写入到指定的寄存器.格式: LEA reg16,mem16 其中reg16必须是一个16位通用寄存器,mem16必须是一个存储器,执行这个指令后,就将mem16 ...
- jquery Autocomplete函数
<!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 第一个PyQt5窗口
1.使用pycharm,生成UI文件 右键->External Tools->QtDesigner 选择Main Window创建一个窗体,从右边拖动组件到窗体上,保存路径到自己的工程目录 ...