GetConstructors 与 _baseType.GetMethod("GetConstructorImpl", BindingFlags.NonPublic | BindingFlags.Instance)
GetConstructors vs. _baseType.GetMethod("GetConstructorImpl", BindingFlags.NonPublic | BindingFlags.Instance)
TYPE.GetConstructor(...)
和 TYPE.GetMethod("GetConstructorImpl", ...)
之间的 c#/.net 4.5.1 有区别吗?
我一直使用第一个解决方案,并在外部库中看到了第二个解决方案。
非常感谢
Type.GetConstructor()
(及其所有重载)是 Type
class 的 public 方法(非虚拟),用于搜索构造函数.他们在内部调用 Type.GetConstructorImpl()
,这是一个 protected abstract
方法,由 Type
的子 class 实现(通常为 RuntimeType
)。你不应该使用 Type.GetConstructorImpl()
(注意你通常不能......它是受保护的)。 Type.GetConstructor()
代码非常简单,只在调用 Type.GetConstructorImpl()
之前做一些参数检查。您可以通过查看 reference source 轻松地检查这一点。我不知道为什么你的图书馆使用 GetConstructoImpl()
.
TYPE.GetConstructor(...)
和 TYPE.GetMethod("GetConstructorImpl", ...)
之间的 c#/.net 4.5.1 有区别吗?
我一直使用第一个解决方案,并在外部库中看到了第二个解决方案。
非常感谢
Type.GetConstructor()
(及其所有重载)是 Type
class 的 public 方法(非虚拟),用于搜索构造函数.他们在内部调用 Type.GetConstructorImpl()
,这是一个 protected abstract
方法,由 Type
的子 class 实现(通常为 RuntimeType
)。你不应该使用 Type.GetConstructorImpl()
(注意你通常不能......它是受保护的)。 Type.GetConstructor()
代码非常简单,只在调用 Type.GetConstructorImpl()
之前做一些参数检查。您可以通过查看 reference source 轻松地检查这一点。我不知道为什么你的图书馆使用 GetConstructoImpl()
.