情景:
我在Silverlight,MyCustomControl1和MyCustomControl2中创建了两个自定义控件。这两个控件都有一个名为Control.Generic的命名空间。 Control.Generic有一个名为PageOrientation的枚举类型。我想在我的项目中同时使用控件(MyCustomControl1和MyCustomControl2)。我在项目中添加了对这两个控件的引用。现在,如何为我的类文件中的控件包含名称空间Control.Generic?目前我已将其指定如下:
using Control.Generic;
但问题是当我使用PageOrientation枚举时,我得到以下异常。
“MyCustomControl1.dll”和“MyCustomControl2.dll”中都存在“Control.Generic.PageOrientation”类型。
如何解决此冲突?
答案 0 :(得分:2)
通常希望在用户控件之间共享类/枚举等。您应该避免在任何两个库中使用完全相同的完全限定名称。
您要做的是拥有一个公共库,由两个用户控件库引用,包含您可能希望重用的任何公共元素。
e.g。
Controls.Generic.dll
包含Control.Generic.PageOrientation
MyCustomControl1.dll
和MyCustomControl1.dll
只是引用Controls.Generic.dll
。
通常,您的库和名称空间应匹配。如果他们不这样做,你可能会尝试做一些你不应该做的事情。
基本上开始处理自己的库,如第三方控件,并像他们一样使用命名标准(company.subarea.featureset等)。从长远来看,这将为您省去很多麻烦。