Можно ли устранить неоднозначность имени конфликтующего типа в объявлении using?
Например, и System.Threading
, и System.Timers
имеют класс Timer
. Поэтому, если я хотел бы использовать System.Timers.Timer
в классе, который использует System.Threading
, я должен использовать такие вещи, как
System.Timers.Timer myTimer = new System.Timers.Timer();
Каждый раз, когда я хочу объявить/инициализировать таймеры. Есть ли способ сказать компилятору, что " всякий раз, когда я говорю Timer
, Используйте System.Timers.Timer
, если не объявлено иначе?"Так что я могу использовать простые
Timer t = new Timer();
В случаях по умолчанию означает System.Timers.Timer
, Если я не указываю явно
System.Threading.Timer t2 = new System.Threading.Timer();
3 ответа:
Можно создать псевдоним для типа (или пространства имен). Смотрите using Directive (MSDN)
using TimersTimer = System.Timers.Timer; .... var myTimer = new TimersTimer();
Да.
using System.Threading; using System.Timers; using Timer = System.Timers.Timer;
Теперь
Timer
ссылается наSystem.Timers.Timer
, но все остальное из любого пространства имен по-прежнему доступно без префикса.
Смотрите директиву using
using MyAlias = System.Timers.Timer; var foo = new MyAlias();