具有特定论点的代表

时间:2015-03-17 05:21:30

标签: c# class delegates

我会尽量保持简单。我有一个委托DEL,它是void()(没有参数)。我有一个函数FUNC(int)。我有两个变量A和B.我希望能够执行A()并且它将运行FUNC(10),并且能够执行B()并且它将运行FUNC(43)。我知道我可以让代理人void(int),但我也有一个函数FUNC2(int, int)。以及将运行FUNC2(21,6)的变量C.我需要A,B和C都是相同类型的变量。

1 个答案:

答案 0 :(得分:2)

听起来你有这个

public delegate void DEL();

public class MyClass
{
    public static void FUNC(int value)
    {
    }

    public static void FUNC2(int value1, int value2)
    {
    }
}

您需要声明变量ABC并将其初始化为某种委托类型,以便他们调用FUNC(10)FUNC(43)和{调用时分别为{1}}。

FUNC2(21, 6)

的代码
A

DEL A = () => MyClass.FUNC(10);

的代码
B

并且DEL B = () => MyClass.FUNC(43);

的代码
C

DEL C = () => MyClass.FUNC2(21, 6); AB都属于C

类型

您也可以将其表达为:

DEL

DEL A = new DEL(() => MyClass.FUNC(10));

或只是

DEL A = new DEL(CallFUNCWithValue10);

public static void CallFUNCWithValue10()
{
    MyClass.FUNC(10);
}