如何创建一个接受常规和泛型类型的Action类型类属性(c#)

时间:2017-09-13 14:44:40

标签: c# vb.net generics delegates

我有一个类需要在其构造函数中传递一个函数。然后我将此函数分配给类的属性。问题出现在该函数有3个参数:2个字符串和1个泛型。请记住,传递函数的代码在vb.net中,并且将该函数分配给属性的代码位于c#中。

Function myFunc(Of T)(s1 As String, s2 As String, model As T)

我想将此函数传递给我的类构造函数。在我的课堂上,我希望有一个基本上属性:

private Action<string, string, T> _myFunc { get; }

但这显然不起作用,因为在这个属性的背景下无法定义T.

如果我忽略通用,则以下工作:

Function myF(s1 As String, s2 As String)

Dim class = New myClass(AddressOf myF)
public class myClass{
    private Action<string,string> _func {get;}
    public myClass(Action<string,string> func){
        _func = func
    }
}

我努力实现的目标是什么?我试过像Action<T><string,string,T>这样的明显事情,但无济于事。

0 个答案:

没有答案