这必须在某处覆盖,但我很难表达我的搜索条件,所以......
以下是由相同类型声明的三个实例方法。
void Invoke(int timeout);
void Invoke<T>(T data);
T Invoke<T>(int timeout);
我想调用第二个方法,传递Int32参数而不使用反射。选项包括:
Invoke(1);
Invoke<int>(1);
Invoke((int)1);
Invoke<int>((int)1);
但是,这些都没有调用所需的方法。我可以实现我想要的,还是应该采用方法重命名?
请注意,如果第三种方法不存在,我可以这样做:
Invoke(1); // Invokes the first method
Invoke<int>(1); // Invokes the second method
答案 0 :(得分:4)
使用命名参数:
Invoke(data: 1);