gpt4 book ai didi

c# - 重构两个内容几乎相同的方法

转载 作者:行者123 更新时间:2023-11-30 13:13:51 24 4
gpt4 key购买 nike

我有两种方法,内容几乎相同:

public string Method1(int someInt)
{
if(someBoolean)
return "test";

if(someOtherBoolean)
{
return "dfjakdsad";
}
else
{
string myStr = getString(someInt)
}
}

public string Method2(myEnum myenum)
{
if(someBoolean)
return "test";

if(someOtherBoolean)
{
return "dfjakdsad";
}
else
{
string myStr = getString(myenum)
}
}

区别在于方法签名和else中的单个语句,string myStr = getString

方法 1 从许多地方被调用,因此它必须以某种方式保留。我将如何重构它?

最佳答案

我建议使用通用的:

public string Method<T>(T arg)
{
if(someBoolen)
return "test";

if(someOtherBoolean)
{
return "dfjakdsad";
}
else
{
string myStr = getString(arg)
}
}

这假定 getString 本身是通用的或可以处理任何类型的对象。

关于c# - 重构两个内容几乎相同的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3282530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com