2

我目前正在发出[mscorlib]System.Console::Write(char)如下呼叫:

ilg.EmitCall(OpCodes.Call,
             typeof(Console).GetMethods().First(m =>
                 m.Name == "Write" && m.GetParameters().Length == 1 &&
                 m.GetParameters().Any(p => p.ParameterType == typeof(char))),
             null);

但是有没有一种更简洁的方法来引用该Console.Write(char)方法,可能无需实际迭代形式参数?

4

1 回答 1

8

尝试使用GetMethod,而不是GetMethods

ilg.EmitCall(OpCodes.Call, 
  typeof(Console).GetMethod("Write", new[] { typeof(char) }),
  null);
于 2012-11-05T16:55:59.670 回答