C# 需要重构公共类

C# 需要重构公共类,c#,C#,我有下面的代码,我不知道如何最好地重构它。现在的情况是,代码只处理第二个公共MyShipService,但我需要调用这两个函数或重构,以使这两个函数都能工作。有什么想法吗 public class MyShipService : AnotherService, IShipService public MyShipService(IStateService stateservice) { _shipToService = new CallShipService();

我有下面的代码,我不知道如何最好地重构它。现在的情况是,代码只处理第二个公共MyShipService,但我需要调用这两个函数或重构,以使这两个函数都能工作。有什么想法吗

public class MyShipService : AnotherService, IShipService

public MyShipService(IStateService stateservice)
{
        _shipToService = new CallShipService();
        _stateService = stateService;
}
public MyShipService(ICountryService countryservice)
{
           _shipToService = new CallShipService();
        _countryService = countryService;
}
shippingAddresses.Each(sa => sa.State =_stateService.GetStateByAbbrev(sa.State.TwoLetterAbbr));
shippingAddresses.Each(sa => sa.Country = _countryService.GetCountryByAbbrev(sa.Country.TwoLetterAbbr));
return shippingAddresses;

对不起,伙计们,全是脑屁

最终有效的代码是。。 public MyShipServiceIStateService stateservice,iconstryservice countryservice { _shipToService=新的CallShipService; _stateService=stateService; _countryService=countryService;
}

那么,为什么不将公共代码从do stuff和do same stuff中拉入一个私有方法中,这两个MyShipService方法都可以调用?转移到私有方法是有意义的,但问题是必须调用MyShipService两次,以便它可以指向不同的服务。代码所做的是处理MyShipService并查看状态存储库以返回装运的状态信息,然后我需要它还查看icontryservice以查找该订单的国家信息。该类只调用了第二个公共MyShipService,而忽略了第一个。您的第二个构造函数是否与第一个构造函数执行相同的操作,或者它是运行该代码,然后运行自己的附加代码?您的类声明显示了重载的构造函数,除了链接它们之外,没有办法调用这两个构造函数。为什么不能有一个同时接受IStateService参数和IContryService参数的构造函数呢?我包含了更多可能有用的代码。很抱歉,我是c语言的新手,所以您提供的任何示例都可能会有所帮助。非常感谢。