需要为某种类型的对象调用函数,但我希望调用者指定我调用的函数。
在 C++ 中,我可以像这样使用指向成员的指针
class C
{
void F(void (A::*F)(int));
}
是否有任何 C# 等价物?
请不要使用功能数组或任何技巧,例如开关。即使在功能签名满足要求的情况下添加了新功能,我也希望此解决方案能够正常工作。
编辑:正如我所读到的:委托就像 C++ 函数指针,但类型安全。
但我需要成员函数指针。例如,在我的函数中,我获得了确定的对象:
var properties = manager.GetProperties();
现在需要获取某些类型的属性:
var type1 = properties.GetType1();
但我需要这样的东西
var typeX = properties.GetTypeX();
获取此函数调用的用户请求类型。TypeX 必须是什么?
Type1..N 有共同的基类,我需要使用这个类。