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

伊萨姆·布斯塔斯蒂(Esam Bustaty)

我遇到了将方法名称作为字符串传递给函数的情况,但是我不希望它进行硬编码。例如

void MyMethodName()
{
    // some code
}

void SomeOtherMethod()
{
    SomeExternalLibrary.ExternalClass.FunctionWithStringParameter("MyMethodName");
}

我想要这样的东西:

FunctionWithStringParameter(MyMethodName.ToString());

通过这种方式,我可以通过“查找所有引用”来跟踪方法调用,并且我可以使用重构而不必担心。

聚苯乙烯

也许最简单的方法是提供一个FunctionWithStringParameter可以将委托作为参数的重载

重载可以很简单:

void FunctionWithStringParameter(Action d)
{
    FunctionWithStringParameter(d.Method.Name);
} 

并这样称呼它:

FunctionWithStringParameter(MyMethodName);

要接受具有不同签名的方法,您必须提供许多不同的重载,或接受Delegate作为参数,如下所示:

void FunctionWithStringParameter(Delegate d)
{
    FunctionWithStringParameter(d.Method.Name);
} 

不幸的是,如果这样做,则必须通过指定委托类型来调用它:

FunctionWithStringParameter((Action)MyMethodName);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

有没有办法在C#中获取外部方法的函数指针

来自分类Dev

有没有办法在C#中获取extern方法的函数指针

来自分类Dev

有没有办法使用C#在autocad(.dwg)中获取所有折线?

来自分类Dev

有没有办法在c#中通过名称访问变量的引用

来自分类Dev

有没有办法将方法名称传递给函数,并让该函数返回封装该方法的委托?

来自分类Dev

有没有办法为grpc-node客户端配置生成方法名称?

来自分类Dev

有没有办法使片段中 SAPUI5 绑定的模型名称动态化?

来自分类Dev

有没有办法在没有名称空间的C ++中嵌套枚举?

来自分类Dev

有没有办法在某些规格的Winforms C#中动态调整Gecko浏览器的大小?

来自分类Dev

有没有办法在tkinter中获取动态添加的文本字段的值?

来自分类Dev

有没有办法从AngularJS中的指令获取外部控制器名称?

来自分类Dev

有没有办法在Android中获取当前进程名称

来自分类Dev

有没有办法从消息中获取命令的名称(Discord.py)

来自分类Dev

Java:有没有办法在枚举中获取具有不同返回类型的方法?

来自分类Dev

有没有办法为C ++中的模板函数动态赋值?

来自分类Dev

有没有办法在 C 中编译和执行动态生成的代码?

来自分类Dev

有没有办法从方法中调用对象?

来自分类Dev

有没有办法从C ++中的char中获取虚拟键代码?

来自分类Dev

有没有办法像C#中那样在Swift中锁定对象

来自分类Dev

有没有办法从扩展方法中获取通用类型?

来自分类Dev

有没有办法在C#块注释中引用const参数?

来自分类Dev

有没有办法在C#数组中更改元组值?

来自分类Dev

有没有办法在C#中捕获Windows通知事件?

来自分类Dev

有没有办法在C#中制作组件的屏幕截图

来自分类Dev

有没有办法解释C#中的CSV单元格拆分符号?

来自分类Dev

有没有办法在C#数组中更改元组值?

来自分类Dev

有没有办法在 C# 中检查服务器套接字的状态?

来自分类Dev

有没有办法在 Visual Studio C# 中更新图片(bmp)?

Related 相关文章

  1. 1

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

  2. 2

    有没有办法在C#中获取外部方法的函数指针

  3. 3

    有没有办法在C#中获取extern方法的函数指针

  4. 4

    有没有办法使用C#在autocad(.dwg)中获取所有折线?

  5. 5

    有没有办法在c#中通过名称访问变量的引用

  6. 6

    有没有办法将方法名称传递给函数,并让该函数返回封装该方法的委托?

  7. 7

    有没有办法为grpc-node客户端配置生成方法名称?

  8. 8

    有没有办法使片段中 SAPUI5 绑定的模型名称动态化?

  9. 9

    有没有办法在没有名称空间的C ++中嵌套枚举?

  10. 10

    有没有办法在某些规格的Winforms C#中动态调整Gecko浏览器的大小?

  11. 11

    有没有办法在tkinter中获取动态添加的文本字段的值?

  12. 12

    有没有办法从AngularJS中的指令获取外部控制器名称?

  13. 13

    有没有办法在Android中获取当前进程名称

  14. 14

    有没有办法从消息中获取命令的名称(Discord.py)

  15. 15

    Java:有没有办法在枚举中获取具有不同返回类型的方法?

  16. 16

    有没有办法为C ++中的模板函数动态赋值?

  17. 17

    有没有办法在 C 中编译和执行动态生成的代码?

  18. 18

    有没有办法从方法中调用对象?

  19. 19

    有没有办法从C ++中的char中获取虚拟键代码?

  20. 20

    有没有办法像C#中那样在Swift中锁定对象

  21. 21

    有没有办法从扩展方法中获取通用类型?

  22. 22

    有没有办法在C#块注释中引用const参数?

  23. 23

    有没有办法在C#数组中更改元组值?

  24. 24

    有没有办法在C#中捕获Windows通知事件?

  25. 25

    有没有办法在C#中制作组件的屏幕截图

  26. 26

    有没有办法解释C#中的CSV单元格拆分符号?

  27. 27

    有没有办法在C#数组中更改元组值?

  28. 28

    有没有办法在 C# 中检查服务器套接字的状态?

  29. 29

    有没有办法在 Visual Studio C# 中更新图片(bmp)?

热门标签

归档