Wes*_*ard 70 .net c# reflection
获取System.Type的默认构造函数(即没有参数的实例构造函数)的最有效方法是什么?
我正在考虑下面的代码,但似乎应该有一个更简单,更有效的方法来做到这一点.
Type type = typeof(FooBar)
BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
type.GetConstructors(flags)
.Where(constructor => constructor.GetParameters().Length == 0)
.First();
Run Code Online (Sandbox Code Playgroud)
Cur*_*her 129
type.GetConstructor(Type.EmptyTypes)
Run Code Online (Sandbox Code Playgroud)
Ale*_*man 29
如果您确实需要 ConstructorInfo对象,请参阅Curt Hagenlocher的回答.
在另一方面,如果你真的只是想创建从一个运行时的对象System.Type,看System.Activator.CreateInstance-它不只是未来需求(活化处理比更多的细节ConstructorInfo.Invoke),这也是很多丑陋的少.
| 归档时间: |
|
| 查看次数: |
27976 次 |
| 最近记录: |