助けてください - .NET 4.0 で実行すると、このコードによって 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]][offset 0x0000000A] 呼び出しの「this」パラメーターは、呼び出し元メソッドの「this」パラメーターである必要があります。
これにより、VerificationException: Operation could destabilize the runtime
中程度の信頼でコードを実行するとメッセージが表示されます。
スタック オーバーフローに関する同様の投稿をすべて読みましたが、このコードには該当しません。
このコードを何らかの形で無効にするジェネリクスの新しいものはありますか?