Подтвердить что ты не робот

С#: Как создать "псевдонимы" для классов

Я даже не знаю, вызвал ли он псевдоним, но позвольте мне все равно продолжить.

Вы знаете, как тип System.String в С# сортируется как "aliased" с "string"? В Visual Studio "строка" имеет строчный и синий текст. Я хотел бы сделать это с некоторыми из наших длинных имен классов. Некоторые из них похожи на "RelocatedPlantProductReleaseItem". Я не могу изменить его имя, но такое длинное имя действительно делает код длинным. Я бы хотел использовать Rppr вместо этого. Поэтому вместо этого:

RelocatedPlantProductReleaseItem Item = new RelocatedPlantProductReleaseItem();

Я бы подумал:

Rppr Item = new Rppr();

Я знаю, что могу создать класс Rppr и наследовать его от RelocatedPlantProductReleaseItem, но это кажется взломанным.

Кроме того, сценарий, который я дал выше, является полностью фиктивным. Я просто использовал его, чтобы продемонстрировать существенную функциональность, которую я пытаюсь достичь.

Кроме того, что это технически называется, когда "string" представляет System.String?

Обновление: Спасибо за все ответы, ребята, но я думаю, я должен был указать, что хочу, чтобы это было глобальным. Я не хочу указывать его в верхней части каждого файла кода. Я хочу указать его в одном месте и работать повсюду во всем приложении, даже в других сборках, которые ссылаются на его сборку.

4b9b3361

Ответ 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;