С#: Как создать "псевдонимы" для классов
Я даже не знаю, вызвал ли он псевдоним, но позвольте мне все равно продолжить.
Вы знаете, как тип System.String в С# сортируется как "aliased" с "string"? В Visual Studio "строка" имеет строчный и синий текст. Я хотел бы сделать это с некоторыми из наших длинных имен классов. Некоторые из них похожи на "RelocatedPlantProductReleaseItem". Я не могу изменить его имя, но такое длинное имя действительно делает код длинным. Я бы хотел использовать Rppr вместо этого. Поэтому вместо этого:
RelocatedPlantProductReleaseItem Item = new RelocatedPlantProductReleaseItem();
Я бы подумал:
Rppr Item = new Rppr();
Я знаю, что могу создать класс Rppr и наследовать его от RelocatedPlantProductReleaseItem, но это кажется взломанным.
Кроме того, сценарий, который я дал выше, является полностью фиктивным. Я просто использовал его, чтобы продемонстрировать существенную функциональность, которую я пытаюсь достичь.
Кроме того, что это технически называется, когда "string" представляет System.String?
Обновление: Спасибо за все ответы, ребята, но я думаю, я должен был указать, что хочу, чтобы это было глобальным. Я не хочу указывать его в верхней части каждого файла кода. Я хочу указать его в одном месте и работать повсюду во всем приложении, даже в других сборках, которые ссылаются на его сборку.
Ответы
Ответ 1
Использовать директиву использования
using Rppr = Namespace.To.RelocatedPlantProductReleaseItem;
РЕДАКТИРОВАТЬ. Опровергнут запрос глобального решения.
В С# нет эквивалента стиля typedef
, который может создать глобальную замену имени типа. Вам нужно будет использовать директиву using в каждом файле, который вы хотите иметь эту аббревиатуру, или перейти к длинной версии имени.
Ответ 2
string
- это удобство, предлагаемое языком С# для обозначения фактического типа CLR System.String
.
Вы можете достичь аналогичных результатов с помощью директивы using
. В верхней части файла, где вы хотите сократить имя, добавьте эту строку:
using ShortName = Namespace.ReallyLongClassNameGoesHereOhGodWhy;
Затем вы можете сказать ShortName myVar = new ShortName();
Обратите внимание, что вы должны сделать это для каждого файла. Вы не можете получить то же покрытие, что и string
с одним объявлением.
Ответ 3
Try
using Rppr = SomeNamespace.RelocatedPlantProductReleaseItem;
Ссылка
Ответ 4
Вы можете сделать это:
using Rppr = RelocatedPlantProductReleaseItem;
Ответ 5
Вы создаете псевдоним, используя:
using alias = LongClassName;
Этот псевдоним отображается в пространстве имен, где вы его объявили.
Ответ 6
Вы можете добавить директиву using
в верхней части файла:
using Rppr = MyProjectNs.RelocatedPlantProductReleaseItem;
Но он работает только для одного файла, а не для проекта.
Ответ 7
попробуйте добавить следующее с другими вашими приложениями
using Rppr = YourItemsNamespace.RelocatedPlantProductReleaseItem;