私は現在、オペレーターとの新しい問題に直面しています。if ... else
次のコードを使用して、C# でペアを使用する場合と同じ出力を作成したいと考えています。
var method = new DynamicMethod("dummy", null, Type.EmptyTypes);
var g = method.GetILGenerator();
g.Emit(OpCodes.Ldstr, "string");
g.Emit(OpCodes.Ldstr, "string");
g.Emit(OpCodes.Call, typeof(String).GetMethod("op_Equality", new Type[]{typeof(string), typeof(string)}));
g.Emit(OpCodes.Ldc_I4, 0);
g.Emit(OpCodes.Ceq);
g.Emit(OpCodes.Brtrue_S, );
var action = (Action)method.CreateDelegate(typeof(Action));
action();
Console.Read();
私の質問は次のとおりです。
- 分岐オペコードのパラメーターとして渡す命令のアドレスを取得するにはどうすればよいですか?
BR
とBR_S
、Brtrue
、Brtrue_S
、Brfalse
およびBrfalse_S
類似の命令に違いはありますか?
ありがとう。