没有人在Difference between Activator.CreateInstance() and typeof(T).InvokeMember() with BindingFlags.CreateInstance回答我的问题。我想这个问题是关闭的,我在这里再问一次。什么版本的.NET包含RuntimeMethodHandle.EmptyHandle?
本M有一个很好的功能,我需要一个项目。该功能是 -
public static T CreateInstance<T>()
{
bool bNeedSecurityCheck = true;
bool canBeCached = false;
RuntimeMethodHandle emptyHandle = RuntimeMethodHandle.EmptyHandle;
return (T) RuntimeTypeHandle.CreateInstance(typeof(T) as RuntimeType, true, true, ref canBeCached, ref emptyHandle, ref bNeedSecurityCheck);
}
我使用.NET 3.5和Visual Studio 2008。它给人的错误“EmptyHandle类型名称并不在类型System.RuntimeMethodHandle存在”。
然后我用“RuntimeMethodHandle emptyHandle = new RuntimeMethodHandle();”。另一个错误呈现。 RuntimeTypeHandle也没有CreateInstance方法。激活者有。但它不需要任何参数。
感谢您提前澄清!
您不应该通过向另一个问题添加*答案*来问*问题*。写一个新问题(正如你在这里所做的)是正确的方法。 – 2010-03-24 14:10:04