Можно указать приоритетное пространство имен при наличии неоднозначных имен классов? - PullRequest
3 голосов
/ 10 января 2012

Я работаю над веб-страницей, использующей два пространства имен с классом Label:

  • Micofosoft.SharePoint.Taxonomy.Label
  • System.Web.UI.WebControls.Label

У меня был код, подобный следующему:

Label lbl_Name = new Label();

, который я был вынужден изменить на:

System.Web.UI.WebControls.Label lbl_Name = new System.Web.UI.WebControls.Label();

потому что я получаю ошибку:

«Метка» является неоднозначным 'System.Web.UI.WebControls.Label' и 'Microsoft.SharePoint.Taxonomy.Label'

Я знаю, что могу "псевдоним" (не уверен, что это правильный термин) пространство имен, так что мне не нужно, чтобы все это было перед моим классом, например:

using UI = System.Web.UI.WebControls;

Но мне было интересно, есть ли способ указать, что я хочу всегда использовать одно пространство имен в случае конфликта. Есть ли какой-нибудь способ указать, что одно пространство имен должно выходить на первое место в случае конфликта?

1 Ответ

2 голосов
/ 10 января 2012

Вы можете использовать объявления using для создания псевдонимов для типов в одном файле:

using SharePointLabel = Microsoft.SharePoint.Taxonomy.Label;
using WebControlLabel = System.Web.UI.WebControls.Label;

Тогда:

WebControlLabel lbl_Name = new WebControlLabel();  
...