Объявите синоним типа в одном месте и используйте его в нескольких файлах

Есть ли способ сделать это на С#?

Я хочу сделать что-то вроде:

using TypeASynonym = TypeA;

в одном месте и иметь возможность использовать имя TypeASynonym в нескольких файлах .cs.


person user1234567    schedule 17.01.2017    source источник
comment
Должна быть возможность с частичным классом, но вы сможете использовать только синоним для этого класса. Вам придется делать это для каждого класса, в котором вы хотите его использовать.   -  person squillman    schedule 17.01.2017
comment
нет, насколько я знаю. вы должны написать это в каждом файле cs, который хотите использовать TypeASynonym   -  person M.kazem Akhgary    schedule 17.01.2017
comment
Просто используйте найти заменить.   -  person Gilad    schedule 17.01.2017
comment
@ Гилад, я написал очень простой пример. Реальные случаи могут быть более сложными. Как using MyType = KeyValuePair<TypeA<TypeB>, List<TypeC>>; и хуже. Назначение синонима преследует две цели: свести к минимуму возможность ошибки при использовании такого типа и улучшить читаемость кода.   -  person user1234567    schedule 18.01.2017


Ответы (1)


Я только что посоветовал наследовать новый тип от типа, к которому я хочу применить синоним. И назовите этот новый тип нужным именем синонима.

Что ж, этот трюк с наследованием гораздо больше, чем ничего, но! он не работает с типами sealed, для которых я хочу назначить синоним.

Так что оставляю вопрос открытым.

person user1234567    schedule 17.01.2017