Странная проблема с пространством имен - PullRequest
4 голосов
/ 24 июня 2011

Я пытаюсь использовать пространство имен System.Drawing.Color. Я не могу определить его в верхней части класса:

enter image description here

Однако я могу сослаться на него в классе. То есть я могу использовать эту строку кода, и она работает:

txtBox.BackColor = System.Drawing.Color.LightPink;

... но я бы предпочел просто сделать это:

txtBox.BackColor = Color.LightPink;

Если это вопрос отсутствующей ссылки / dll, почему я могу сделать ссылку на System.Drawing.Color в моем коде?

Ответы [ 5 ]

2 голосов
/ 24 июня 2011

Причины, по которым я могу подумать, почему System.Drawing можно было отфильтровать в выпадающем списке usings:

  1. он уже используется (- нет, возможно, нет, но в любом случае)
  2. вы находитесь в службе ASP.NET:

Внимание! Классы в пространстве имен System.Drawing не поддерживаются для использования в службе Windows или ASP.NET.Попытка использовать эти классы из одного из этих типов приложений может привести к непредвиденным проблемам, таким как снижение производительности службы и исключение времени выполнения.

http://msdn.microsoft.com/en-us/library/system.drawing(v=VS.100).aspx

0 голосов
/ 24 июня 2011

Вы должны добавить его к своим ссылкам - как-то его не хватает.

, затем вы должны объявить using System.Drawing; в верхней части вашего кода C #, тогда вы можете позвонить Color.LightPink;

0 голосов
/ 24 июня 2011

System.Drawing.Color является структурой.Пространство имен - System.Drawing

0 голосов
/ 24 июня 2011

Вы добавили ссылку на: System.Drawing в свой проект References?

0 голосов
/ 24 июня 2011

Это потому, что это не пространство имен.System.Drawing - это пространство имен, а Color - это структура (struct).

РЕДАКТИРОВАТЬ: Дополнительно я бы посоветовал использовать такой продукт, как ReSharper ,исправить такие вещи почти автоматически.Читайте правила!

...