具有特定论点的代表
Delegates with specific arguments
我会尽量保持简单。我有一个委托 DEL
,它是一个 void()
(无参数)。我有一个函数 FUNC(int)
。我有两个变量 A 和 B。我希望能够执行 A()
并且它将 运行 FUNC(10)
,并且能够执行 B() 并且它将 运行 FUNC(43)
。我知道我可以让代表 void(int)
但我也有一个函数 FUNC2(int, int)
。和一个将 运行 FUNC2(21,6)
的变量 C。我需要 A、B 和 C 都是同一类型的变量。
听起来你有这个
public delegate void DEL();
public class MyClass
{
public static void FUNC(int value)
{
}
public static void FUNC2(int value1, int value2)
{
}
}
并且您需要声明变量 A
、B
和 C
并将其初始化为某种委托类型,以便它们调用 FUNC(10)
、FUNC(43)
和 FUNC2(21, 6)
分别在调用时。
A
的代码
DEL A = () => MyClass.FUNC(10);
B
的代码
DEL B = () => MyClass.FUNC(43);
还有 C
的代码
DEL C = () => MyClass.FUNC2(21, 6);
A
、B
和 C
都是 DEL
类型
您也可以将其表示为:
DEL A = new DEL(() => MyClass.FUNC(10));
或
DEL A = new DEL(CallFUNCWithValue10);
public static void CallFUNCWithValue10()
{
MyClass.FUNC(10);
}
或
DEL A = CallFUNCWithValue10;
我会尽量保持简单。我有一个委托 DEL
,它是一个 void()
(无参数)。我有一个函数 FUNC(int)
。我有两个变量 A 和 B。我希望能够执行 A()
并且它将 运行 FUNC(10)
,并且能够执行 B() 并且它将 运行 FUNC(43)
。我知道我可以让代表 void(int)
但我也有一个函数 FUNC2(int, int)
。和一个将 运行 FUNC2(21,6)
的变量 C。我需要 A、B 和 C 都是同一类型的变量。
听起来你有这个
public delegate void DEL();
public class MyClass
{
public static void FUNC(int value)
{
}
public static void FUNC2(int value1, int value2)
{
}
}
并且您需要声明变量 A
、B
和 C
并将其初始化为某种委托类型,以便它们调用 FUNC(10)
、FUNC(43)
和 FUNC2(21, 6)
分别在调用时。
A
DEL A = () => MyClass.FUNC(10);
B
DEL B = () => MyClass.FUNC(43);
还有 C
DEL C = () => MyClass.FUNC2(21, 6);
A
、B
和 C
都是 DEL
您也可以将其表示为:
DEL A = new DEL(() => MyClass.FUNC(10));
或
DEL A = new DEL(CallFUNCWithValue10);
public static void CallFUNCWithValue10()
{
MyClass.FUNC(10);
}
或
DEL A = CallFUNCWithValue10;