Пожалуйста, рассмотрите мой прецедент: Я разрабатываю программную систему, в которой есть уникально идентифицированные «элементы» разных типов (пользователи, документы, билеты и т. Д.).Скрытие реализации типов значений в .NET/C#
Я начал реализацию, и, хотя я хотел бы двигаться вперед с реализацией, я не совсем уверен, что будет самым подходящим уникальным идентификатором «элементов». Это может быть автоматически увеличиваемое целое число, GUID, строка, содержащая префикс + время создания и т. Д.
Очевидно, что переменные типа уникального идентификатора объявляются по всем моим классам, и если я намерен изменить его позже - Хорошо, это не может быть хорошо ...
Мой вопрос в том, есть ли механизм .NET для typedef
-имя типов значений, поэтому я могу изменить тип «real» и специфичные для типа функции в (например, используя методы расширения) и не беспокоиться о десятках других случаев в коде.
C# не имеет эквивалента 'typedef ', слабого или сильного. Не совсем понятно, что вы пытаетесь сделать - если вы можете привести пример псевдокода, это может помочь предложить альтернативы. –
Звучит как проблема, с которой [Strategy Pattern] (https://en.wikipedia.org/wiki/Strategy_pattern) был разработан для решения. –
@Cory: извините, неясно. Рассмотрим множество классов с идентификатором свойства типа UniqueIdentifier, который на самом деле является GUID (например). В каждом конструкторе такого класса я бы добавил Id = UniqueIdentifier.Generate(); (возможно, метод расширения). Класс не должен знать, как Id реализован или сгенерирован, и я могу изменить реализацию UniqueIdentifier без изменения кода классов. – ury