2008-10-06 4 views
6

Я унаследовал класс C# «Button» (который я не могу изменить), который сталкивается с классом BCL «Windows.Forms.Button». Как правило, Id быть очень счастливы идти:C# Разрешение по умолчанию по умолчанию

Но есть большое количество или ссылки на этот класс, который является боль, чтобы повторно типа.

Есть ли способ заставить компилятор (компоновщик?) По умолчанию использовать настраиваемую версию Button над версией BCL?

ответ

21

Добавить это в верхней части файла:

using MyButton = MyPackage.MyClass.Button; 

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

+0

Это было приятно видеть. Я не думаю, что он работал в более ранних версиях .NET, и я не знал, что он был добавлен. – 2008-10-06 13:31:53

+0

Работает не менее 2.0. – 2008-10-06 13:35:15

2

Вы можете удалить using Windows.Forms; с верха кода. Это, конечно же, означает, что вам придется ссылаться на все элементы Windows.Forms.

+0

Приятная идея, хотя, учитывая остальную функциональность классов, она оставляет меня примерно в том же положении, что и раньше! – 2008-10-06 13:22:54

0

Вы можете по крайней мере сделать это небольшой немного менее болезненным/многословным с «помощью»:

using MPMC = MyPackage.MyClass; 

тогда вы можете сказать:

MPMC.Button 
4

, если вы хотите использовать его по умолчанию, заменить

using Windows.Forms; 

с

using MyPackage.MyClass; 

Если вы это сделаете, вам нужно будет полностью квалифицировать все кнопки из Windows.Forms.

Или, если вы хотите, вы можете псевдоним в пространстве имен

using My = MyPackage.MyClass; 
//... then 
My.Button b = ... 

или псевдоним кнопки

using MyButton = MyPackage.MyClass.Button; 
0

Оказывается, что я могу сделать следующее:

using Button = MyPackage.MyClass.Button; 

работает и сохраняет все ссылки в коде на Button. Хотя Im искушал не идти по этому маршруту, поскольку он все еще неоднозначен (по крайней мере, для читателя), какая кнопка используется.

Смежные вопросы