C# 创建泛型函数列表

问题描述

我想创建一个可以接受任何类型的类变量函数列表。像这样的东西。但我不知道如何才能做到这一点。

  1. 这是声明接受类变量的泛型函数的正确方法吗?
  2. 如何添加通用函数以返回列表?我在下面尝试过,但这也无济于事

public List<MyFunction<T>> GetMyFunctionList<T>() where T : struct,TextFragment


public class MyFunction<T>
{
    public MyFunction(Func<T,string> functionName)
    {
        this.FunctionName = functionName;
    }

    public Func<T,string> FunctionName { get; set; }
}

public class MyClass
{
    int var1;
    Bar var2;
    
    public MyClass (int var1,Bar var2)
    {
        this.var1 = var1;
        this.var2 = var2;
    }
    
    public List<MyFunction> getMyFunctionList(){
        return new List<MyFunction> // throws error - "using generic type returns one type argument
        {
            this.Foo1(var1),this.Foo2(var2)
        }
    }
    
    public MyFunction<int> Foo1(int var1)
    {
        return new MyFunction((i) => {
            int res =  var1*2; 
            return res.ToString()
        })
    }
    
    public MyFunction<Bar> Foo2(Bar var2)
    {
        return new MyFunction((i) => {
            return var2.ToString() + " value"; 
        })
    }       
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)