0

私は FastMember プロジェクトを使用しています。次のコードが含まれています。

il.Emit(OpCodes.Ldarg, 2); 
il.Emit(OpCodes.Newobj, typeof(ArgumentOutOfRangeException).GetConstructor(new[] { typeof(string) }));
il.Emit(OpCodes.Throw);

代わりに null を返すように変更したいと思います。一行に置き換えてみましたil.Emit(OpCodes.Ret);。ただし、それを使用すると無効なプログラムエラーが発生します。発行されたコードを使用して戻り値を null に設定するにはどうすればよいですか?

4

1 に答える 1

4

を発行するだけなら、それは C#retのようなものです。return;しかし、あなたは必要ですreturn null;

使用する必要があります

il.Emit(OpCodes.Ldnull);
il.Emit(OpCodes.Ret);
于 2014-05-05T19:48:43.000 に答える