2

这必须在某处涵盖,但我很难表达我的搜索条件,所以......

下面是由相同类型声明的三个实例方法。

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
4

1 回答 1

4

使用命名参数:

Invoke(data: 1);
于 2013-07-08T07:25:52.233 回答