我有许多不同参数的类似方法。我试图找到一个好的和简单的重构解决方案,但没有结果。我可以使用参数对象,但我认为我需要创建另一个辅助类,它会使一切变得更复杂和更慢。
void Foo(ref int test2)
{
Goo(test2);
}
void Foo(ref long test2)
{
Goo(test2);
}
void Foo(ref double test2)
{
Goo(test2);
}
void Foo(ref string test2)
{
if (!test2.IsNull())
test2 = "sth";
Goo(test2);
}
答案 0 :(得分:3)
使用generics:
void Foo<T>(ref T test2)
{
Goo(test2);
}
答案 1 :(得分:2)
如果您仍然确定必须重构它,则可以使用以下选项: