你能从没有魔术字符串的静态类的静态方法中获取MethodInfo吗?

时间:2015-08-11 12:33:48

标签: .net reflection lambda expression

假设我有一个静态类的静态类:

public static class MyClass
{
    public static void MyMethod() { }
}

我可以像这样MethodInfo

MethodInfo MethodInfo = typeof(MyClass).GetMethod("MyMethod");

但是,如果我更改了方法的名称,字符串的神奇属性将导致方法名称保持不变。如果它是非静态类/方法,我可以这样做:

public class MyClass
{
    public void MyMethod() { }
}

MethodInfo MethodInfo = new Action<MyClass>(x => x.MyMethod()).Method;

这很好,因为它是方法签名本身的引用,所以我可以更改原始方法名称,然后重命名所有引用。但是,此方法不适用于我的类/方法的静态版本。

有没有办法将lambda与静态类一起使用?

1 个答案:

答案 0 :(得分:4)

从C#6.0开始,您可以使用nameof operator

authToken.getAccessToken('https://outlook.office365.com').then(function (accessToken) {
  // do something with accessToken, e.g. use as bearer token in REST call
}, errorFunction);