egmkang 服务端开发工程师

C#中通过反射获取属性

2016-08-29
C#

C#中的属性有两种, 一种是常见的, 还有一种是索引器, 内部实现都是一个函数. 比如我想遍历protobuff生成的C#类, 然后注册到工厂里面去, 想要获取那个Parser成员.

var parser = typeinfo.GetProperty("Parser").GetValue("");

这边就拿到了Parser属性.

GetValue函数之所以要传参, 是因为索引器要传参.

这个方法有一个不好的地方就是, 如果都是ValueType, 需要box和unbox


上一篇 Grain的属性

Comments