如何避免因参数类型更改而导致更改?

时间:2014-02-24 08:23:13

标签: c# .net

假设我有一个其他项目(Web应用程序)使用的类库 请注意,这是一个示例,而不是真正的代码。这个想法类似于以下内容。

public interface IAddressProviderService
{
    public Address[] GetAddresses(string[] client)
}

如您所见,该方法接受我想要更改为的string[] Client[],其中Client

public class Client
{
    public string Name {get; set;}
    public string City {get; set;}
    public string Zip {get; set;}
}

据我了解,这是一个重大改变。

从源代码控制的角度来看,类库由少数网络应用程序使用。 当lib类的代码构建时,它将尝试构建依赖的Web应用程序 - 这将失败。

我该如何避免这种情况?

是否有类似Obsolete或某种重定向的东西 - 让其他webapps继续使用旧代码(直到它收到客户端的代码更改推送到root用户并按下个人推送流)?

如果不清楚,请随意发表评论。

编辑:我不知道是否应该问一个新问题。 让我知道,如果那应该是这样的话。

public interface IAddressProviderService
{
    public Address[] GetAddresses(Client[] client)
}

public class Client
{
    public string Name {get; set;}
    public string City {get; set;}
    public string Zip {get; set;}
}

现在,属性的类型(Client)会发生变化

public class Client
{
    public Name Name {get; set;}
    public City City {get; set;}
    public string Zip {get; set;}
}

是否可以拥有属性名称&更改类型并进行一些重定向工作,以便旧代码可以string传递Name& City&新代码可以为Name传递Name个实例吗?

0 个答案:

没有答案