帮我用C# 写一个类,有Func<>泛型委托一样的功能,可随意传入参数个数
时间: 2024-12-26 09:28:03 浏览: 9
在C#中,虽然`Func<T1, T2, ..., TResult>`是一个预先定义好的泛型委托类型,用于接受固定数量的输入参数并返回一个结果,如果你想要创建一个可以动态传递任意数量参数的函数,你可以自定义一个类似`Action`的类来接收无返回值的参数,或者使用`params`关键字来处理不确定数量的参数。这里有一个简单的例子:
```csharp
using System;
public class DynamicAction
{
// 定义一个接受任意数量参数的方法模板
public delegate void ActionWithParams(params object[] args);
// 自定义的无返回值方法
public static void Execute(ActionWithParams action)
{
if (action != null)
{
// 调用时传入任意数量的参数
action.Invoke("第一个参数", "第二个参数", 3, true);
}
}
public static void Main(string[] args)
{
// 创建一个动态方法实例
ActionWithParams myMethod = MyCustomMethod;
// 执行这个动态方法
Execute(myMethod);
}
// 这里只是一个示例,你可以替换为实际需要执行的逻辑
private static void MyCustomMethod(params object[] args)
{
Console.WriteLine($"Received arguments: {string.Join(", ", args)}");
}
}
//
阅读全文