【发布时间】:2013-07-08 07:21:37
【问题描述】:
这必须在某处涵盖,但我很难表达我的搜索条件,所以...
下面是同类型声明的三个实例方法。
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
【问题讨论】:
-
当你传递它时,不是你的问题命名参数的解决方案吗?调用(超时:1);
-
天哪,原来如此。多年来我一直在这样做,但不知道这是可能的。
-
希望对您有所帮助 ;) msdn.microsoft.com/en-us/library/dd264739.aspx
-
是的,我知道可选参数。不知道我是如何错过命名参数的。感谢您的链接。
标签: c# generics overloading