C# Assembly.CreateInstance

CreateInstance(String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

BindingFlags和Binder具体指什么?
看了MSDN文档还不懂。

BindingFlags 枚举
影响执行搜索的方式的位掩码。 此值是 BindingFlags中的位标志的组合。
指定控制绑定以及通过反射执行成员和类型搜索的方式的标记。
这是什么呢?

binder
Binder
一个对象,它启用绑定、对自变量类型的强制、对成员的调用,以及通过反射对 MemberInfo 对象的检索。 如果 binder 为 null,则使用默认联编程序。
这又是什么呢?
感谢。

阅读 1.6k
1 个回答

BindingFlags 很常用,是用来指定反射查找范围的。

比如你有多个构造函数,有 private 的、有 public 的,那你通过反射去实例化对象的时候怎么指定只从 private 的构造函数里找到匹配的那个去执行呢?BindingFlags 此时就能派上用场了。


绝大部分场景下都用不到 Binder,用来自定义反射的。只有当你希望控制反射的整个过程时才需要。忽略它即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进