小编Pet*_*tew的帖子

具有动态数量类型的泛型类

我不知道如何在不使用示例的情况下说出这个问题,所以我们在这里......

我已经定义了这样一个类:

public class Orchestration<T1, T2, T3>
{
Run Code Online (Sandbox Code Playgroud)

使用此构造函数:

public Orchestration(Action<T1, T2, T3> action, int maxNumberOfRetries)
Run Code Online (Sandbox Code Playgroud)

还有一个名为Run的方法:

public bool Run(T1 one, T2 two, T3 three)
Run Code Online (Sandbox Code Playgroud)

现在,如果我这样做:

var orchestration = new Orchestration<string, string, bool>(File.Copy, 5);
orchestration.Run("c:\filename.txt", "d:\filename.txt", true)
Run Code Online (Sandbox Code Playgroud)

然后业务流程会在返回false之前尝试运行File.Copy 5次,这意味着作业失败了(这里的背景是我试图从一个只能偶尔工作的磁盘中拯救som文件)

Orchestration类是通用的,我可以用它来运行任何有三个参数的方法.

我的问题是:我能否以一种不需要事先确定参数数量的方式定义Orchestration类?

我的目标是使其能够运行任何方法,而不仅仅是采用三个参数的方法......

c# generics

6
推荐指数
2
解决办法
695
查看次数

标签 统计

c# ×1

generics ×1