Можно ли устранить неоднозначность имени конфликтующего типа в объявлении using?

например,System.Threading и System.Timers присвоен класс Timer. Поэтому, если я хотел бы использовать System.Timers.Timer в классе, который использует System.Threading, Я должен использовать такие вещи, как

System.Timers.Timer myTimer = new System.Timers.Timer();

каждый раз, когда я хочу объявлять/инициализировать таймеры. Есть ли способ сказать компилятору ,что " всякий раз, когда я говорю Timer используйте System.Timers.Timer если не заявлено иное?- Чтобы я мог пользоваться простым!--12-->

Timer t = new Timer();

в случаях, по умолчанию означает System.Timers.Timer, если я не укажу явно

System.Threading.Timer t2 = new System.Threading.Timer();

3 ответов


вы можете создать псевдоним для типа (или пространства имен). См.использование директивы (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();