【发布时间】:2014-03-28 13:57:42
【问题描述】:
我有一堆创建相同结果类型的方法,但它们的参数类型不同。假设int 是结果类型,bool,int,float 等,等等,
和原型是这样的:
int method1(int param1);
int method2(bool param1);
int method3(float param1);
如何将它们重构为如下所示:
int methodGenericVersion1<T>(T arg1);
顺便说一句,我看不到那些非泛型方法的实现。
编辑
我想这样调用:
methodGenericVersion1<int>(param1);
methodGenericVersion1<bool>(param1);
methodGenericVersion1<float>(param1);
【问题讨论】:
-
如果您看不到(并且可能会更改)该方法的代码,那么您对制作通用的东西有什么期望?显示您拥有的示例代码以及您想要实现的大致目标......
-
这只有在所有三种方法都具有相同代码的情况下才有用。使用具有不同参数的单独方法的正常原因是您可以为不同的输入设置不同的逻辑。
-
@AlexeiLevenkov 像下面的答案一样用一种方法分派他们。
标签: c# generics refactoring