帮我解决问题 - 为什么在.NET 4.0下运行时,这段代码会导致一个VerificationException?为什么这行在.NET 4下运行时会导致一个VerificationException?
public T parseEnum<T>(string value, T defaultValue) {
//Removing the following lines fixes the problem
if (!typeof(T).IsEnum) throw new ArgumentException("T must be an enumerated type");
return defaultValue;
}
我在.NET 2.0组件跑peverify
并得到以下信息:
ImageResizer.Util.Utils :: parseEnum [T]] [偏移0X0000000A]的 '这' 参数来该调用必须是调用方法的'this'参数。
这将导致在中等信任下运行代码时发出VerificationException: Operation could destabilize the runtime
消息。
我已经阅读了堆栈溢出中所有类似的帖子,并且它们都不适用于此代码。
是否有什么新的泛型会导致此代码在某种程度上无效?
我只是运行这个代码,并没有收到这样的例外。你确定这是错误所在吗?这是在asp中使用吗? –
您是否使用Visual Studio或其他编译器(如Mono)生成.NET程序集? – Jacob
错误消息向我表明它位于正在发生此问题的呼叫地点(即您调用方法的地方)。你能向我们展示那些代码吗? –