Отражение C#: Если … еще?

В настоящее время я столкнулся с новой проблемой с операторами. Используя следующий код, я хочу сделать вывод, который будет таким же, как при использовании , если .. Пара 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();

Мои вопросы:

  1. Как я могу получить адрес инструкции, чтобы передать его в качестве параметра для кодов операций ветвления?
  2. Есть ли разница между BR и BR_S, Brtrueи Brtrue_S, Brfalseи Brfalse_Sи подобные инструкции?

Спасибо.

12
задан user35443 9 November 2013 в 14:45
поделиться