#c# #winforms #naming
Вопрос:
У меня есть пользовательский класс под названием «Тег» в моем проекте VS C#. Я пытаюсь получить доступ к его статическому методу внутри формы WinForm, как это:
Tag.someMethod()
VisualStudio интерпретирует «Тег» как «элемент управления объектом».Тег {get; set;}». Это кажется глупым, но я не уверен, должно ли это произойти и как это решить. Я предпочитаю не переименовывать свой класс, мне нравится это короткое название. Кроме того, я не хочу ссылаться на него, используя пространство имен моего проекта, оно слишком длинное. Можно ли что-нибудь сделать, чтобы заставить VS распознать «Тег» как мой пользовательский класс?
Комментарии:
1. Да, если у вас есть свойство
Tag
, вызываемое для текущего класса , и также вызываемый отдельный классTag
, компилятор C# предпочтет это свойство. Обходные пути состоят в том, чтобы использовать (часть) пространства имен или дать ему другое имя, переименовав его или присвоив ему псевдоним (using X = Tag;
)2. Как насчет переименования вашего класса во что-то более описательное? Мягких названий, как правило, следует избегать, и краткость не всегда коррелирует с ясностью
Ответ №1:
Вы можете использовать псевдоним для пространства имен, если оно большое, а затем использовать его в коде.
using Project = PC.MyCompany.Project;
Project.Tag.someMethod();