ISet:System.Collections.Generic和Iesi.Collections.Generic的命名空



当项目从3.5升级到4.0时,我遇到了ISet类的冲突,这两个类都存在命名空间:

System.Collections.Generic 
Iesi.Collections.Generic

我在数百个文件中有这两个类。在4.0之前,System.Collections.Generic.中没有ISet

你将如何解决这种痛苦?我真的应该向每个文件添加:Iesi.Collections.Generic到ISet吗?

或者提供一个别名:

using IesiGeneric = Iesi.Collections.Generic;

并这样使用:IesiGeneric.ISet,但所有这些都意味着我必须更改所有这些文件。。。。

还有其他选择吗?

更新

创建这样的界面怎么样:

using System;
using System.Linq;
using System.Text;
using Iesi.Collections.Generic;
namespace NameSpace
{
public interface IesiSet<T> : ISet<T>
{
}
}

把Iesi Iset改成:IesiSet?

您应该能够直接向类型添加别名:

using ISet = Iesi.Collections.Generic.ISet;

这意味着你只需要更新每个文件的头。

然而,展望未来,我预计加班(尤其是在人员变动时(,这将成为一个可维护性难题,因为人们认为这是内置的ISet。我会承担现在的痛苦,现在在全球范围内取代它。

[也包括

我遇到了ISet类的冲突,该类存在于两个命名空间中

System.Collections.Generic.ISet是一个接口。如果你的版本是,我会考虑现在重新命名它,因为它看起来像一个接口名称]

相关内容

最新更新