Как вы решаете конфликты пространства имен .Net с ключевым словом using? - PullRequest
19 голосов
/ 14 сентября 2008

В этом и заключается проблема: вы включаете несколько сборок и добавляете «using namespaceX» вверху вашего файла кода.
Теперь вы хотите создать класс или использовать символ, который определен в нескольких пространствах имен, например System.Windows.Controls.Image & System.Drawing.Image

Теперь, если вы не используете полностью определенное имя, из-за неоднозначности произойдет ошибка шпаргалки / сборки, несмотря на правильные объявления об использовании в верхней части. Какой здесь выход?

(Еще один пост в базе знаний. Я нашел ответ примерно через 10 минут поиска, потому что не знал подходящего ключевого слова для поиска)

Ответы [ 2 ]

30 голосов
/ 14 сентября 2008

Использовать псевдоним

using System.Windows.Controls;
using Drawing = System.Drawing;

...

Image img = ... //System.Windows.Controls.Image
Drawing.Image img2 = ... //System.Drawing.Image

Как: использовать классификатор псевдонимов пространства имен (C #)

5 голосов
/ 14 сентября 2008

Эта страница имеет очень хорошую запись в пространствах имен и оператор использования:

http://www.blackwasp.co.uk/Namespaces.aspx

Вы хотите прочитать часть о «Создание псевдонимов», которая позволит вам создать псевдоним для одного или обоих пространств имен и ссылаться на них следующим образом:

using ControlImage = System.Windows.Controls.Image;
using System.Drawing.Image;

ControlImage.Image myImage = new ControlImage.Image();
myImage.Width = 200;
...