c# - 如何从已知方法中获取方法名?

标签 c# invoke method-names

是否可以使用手动编写的字符串获取同一类中另一个方法的名称?

class MyClass {

    private void doThis()
    {
        // Wanted something like this
        print(otherMethod.name.ToString());
    }   

    private void otherMethod()
    {

    }
}

你可能会问为什么:好吧,原因是我必须稍后调用这个方法,就像这个 Invoke("otherMethod"),但是我不想自己硬编码这个字符串,因为我不能再在项目。

最佳答案

一种方法是将其包装到委托(delegate)Action中,然后您可以访问方法的名称:

string name = new Action(otherMethod).Method.Name;

关于c# - 如何从已知方法中获取方法名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18040116/

相关文章:

c# - 使用 TcpClient 通过网络发送和接收数据

c# - 如何在 C# 中获取麦克风的全名?

jenkins - 在 Jenkins 的常规脚本中,调用目标抛出了异常

c# - 有没有办法在 C# 中动态获取方法名称?

c# - 是否可以使用属性来覆盖方法?

c# - 如何删除递归嵌套列表中的重复项

javascript - 从另一个未被调用的 Lambda 函数中调用 Lambda 函数

c# - 反射(reflection):如何调用带参数的方法

objective-c - 带有未命名参数的 Bizzare 方法签名 (obj-c)

swift - Swift 与 Objective-C 中的命名方法