У меня такой код:
private Dictionary<Int32, List<Command>> OutboundCommandSetsById;
private Dictionary<Int32, List<Command>> InboundCommentSetsById;
private List<Command> MyCommandSet;
Я хотел бы объявить пользовательский тип данных под названием CommandSet
, который является не чем иным, как списком команд.
Это плоская замена старого кода, так что я мог набирать CommandSet
везде, где обычно набирал List<Command>
Как я могу это сделать?
ПОСЛЕДУЮЩИЕ ДЕЙСТВИЯ: мой вопрос касается только экономии времени. Я никогда не говорил, что хочу сделать это только для экономии времени. Это больше вопрос обслуживания кода.
Если мне или другому пользователю моей кодовой базы нужно создать другой контейнер CommandSets
, я смогу это сделать, не зная, что CommandSet
является List<Command>
Я использовал предложенный ответ наследования. Работает нормально. Я чувствую, что было бы лучше, если бы C # предлагал замену кода препроцессора для подобных случаев.
2 ответа
Сделай это класс, и тебе хорошо идти
class CommandSet : List<Command>
{
}
Но я все же рекомендую использовать List<Command>
для более читаемого кода.
Попробуйте используя директиву псевдонима по адресу верх вашего файла:
using System.Collections.Generics;
using CommandSet = List<Command>;
Хотя это обычно не одобряется. Обычно считается лучшей практикой просто придерживаться List<Command>
.
Похожие вопросы
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.