编写辅助方法时自动继承所有方法签名?(C#)

百万富翁

假设我正在尝试围绕现有静态方法编写包装方法。让我们以控制台为例。

public static void WriteWithPrefix(string prefix, ...)
{
    Console.Write(prefix);
    Console.Write(" - ");
    // Console.Write(...)

}

Console.Write方法有18个签名,涵盖了原始类型的范围以及复制String.Format方法。

有没有一种方法可以编写此帮助程序类,以便它也可以接受Console.Write通常接受的任何数据类型

另一个例子:

public static void WriteWithTimestamp(...)
{
    Console.Write(DateTime.Now.ToString());
    Console.Write(": ");
    // Console.Write(...)
}

当我调用该WriteWithTimestamp方法时,我希望能够将它传递给我的任何东西都可以传递给它Console.Write

里德·科普西(Reed Copsey)

要以常规方式执行此操作,您将需要为每个Console进行重载编写重载的函数,这意味着您的方法会多次重载。

但是,您可以使用dynamic另一种方法来实现您的目标:

public static void WriteWithTimestamp(dynamic value)
{
    Console.Write(DateTime.Now.ToString());
    Console.Write(": ");
    Console.Write(value);
}

使用dynamic将导致它在运行时评估和使用最合适的重载由于Console.Write具有接受object作为参数的重载,因此它也永远不会引起异常。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

在Java中继承抽象类时,是否需要再次实现接口的所有方法?

来自分类Dev

在 C++ 中继承时,受保护的方法可以成为私有方法吗?

来自分类Dev

为什么所有方法都不从类继承?

来自分类Dev

在接口中声明继承接口的所有方法?

来自分类Java

是否应该为所有方法编写空检查?

来自分类Dev

如何使用Moq框架在C#中编写私有方法的单元测试?

来自分类Java

自动委派Java类的所有方法

来自分类Java

自动查找一次使用的所有方法

来自分类Dev

继承方法调用私有方法

来自分类Dev

如何使用Groovy获取没有继承方法的类的所有方法名称?

来自分类Dev

获取所有方法

来自分类Dev

Groovy 脚本:没有方法签名

来自分类Java

继承私有方法和公共

来自分类Java

继承中的私有方法

来自分类Dev

Java继承中的私有方法

来自分类Dev

反思继承的私有方法

来自分类Dev

我的所有方法都需要通用包装,而无需复制代码(C#)

来自分类Dev

如何确保模块中的所有方法都具有相同的签名?

来自分类Dev

使用装饰器强制类的所有方法具有特定的签名

来自分类Dev

我们可以为所有方法编写扩展方法吗?

来自分类Dev

您可以提取类中所有方法的签名吗?

来自分类Dev

Grails [Groovy],如何获取类继承的所有方法的清单?

来自分类Dev

从多个类继承并更改一个父类的所有方法的返回类型

来自分类Dev

类目标c中所有方法的lldb断点

来自分类Dev

C#linq查询所有方法

来自分类Dev

在C#中使用自定义属性获取所有方法永远找不到方法

来自分类Dev

PhpStorm - 自动折叠所有方法体,不包括活动方法

来自分类Dev

尝试发布时,httpbuilder-ng没有方法multipart()的签名

来自分类Java

获取类的所有方法(包括继承的Java 8默认方法)的新方法是什么?

Related 相关文章

  1. 1

    在Java中继承抽象类时,是否需要再次实现接口的所有方法?

  2. 2

    在 C++ 中继承时,受保护的方法可以成为私有方法吗?

  3. 3

    为什么所有方法都不从类继承?

  4. 4

    在接口中声明继承接口的所有方法?

  5. 5

    是否应该为所有方法编写空检查?

  6. 6

    如何使用Moq框架在C#中编写私有方法的单元测试?

  7. 7

    自动委派Java类的所有方法

  8. 8

    自动查找一次使用的所有方法

  9. 9

    继承方法调用私有方法

  10. 10

    如何使用Groovy获取没有继承方法的类的所有方法名称?

  11. 11

    获取所有方法

  12. 12

    Groovy 脚本:没有方法签名

  13. 13

    继承私有方法和公共

  14. 14

    继承中的私有方法

  15. 15

    Java继承中的私有方法

  16. 16

    反思继承的私有方法

  17. 17

    我的所有方法都需要通用包装,而无需复制代码(C#)

  18. 18

    如何确保模块中的所有方法都具有相同的签名?

  19. 19

    使用装饰器强制类的所有方法具有特定的签名

  20. 20

    我们可以为所有方法编写扩展方法吗?

  21. 21

    您可以提取类中所有方法的签名吗?

  22. 22

    Grails [Groovy],如何获取类继承的所有方法的清单?

  23. 23

    从多个类继承并更改一个父类的所有方法的返回类型

  24. 24

    类目标c中所有方法的lldb断点

  25. 25

    C#linq查询所有方法

  26. 26

    在C#中使用自定义属性获取所有方法永远找不到方法

  27. 27

    PhpStorm - 自动折叠所有方法体,不包括活动方法

  28. 28

    尝试发布时,httpbuilder-ng没有方法multipart()的签名

  29. 29

    获取类的所有方法(包括继承的Java 8默认方法)的新方法是什么?

热门标签

归档