Почему все делают жизнь такой сложной.Кортежи предназначены для временных данных обработки.Постоянная работа с Tuples усложнит понимание кода в какой-то момент.Создание классов для всего может в конечном итоге раздуть ваш проект.
Речь идет о балансе, однако ...
Похоже, ваша проблема - это то, для чего вам нужен класс.И просто для полноты, этот класс ниже также содержит конструкторы.
Это правильный шаблон для
- Пользовательский тип данных
- снет больше функциональности.Методы получения и установки также могут быть расширены с помощью кода, получая / устанавливая закрытые члены с шаблоном имени «_orderGroupId», одновременно выполняя функциональный код.
- Включая конструкторы.Вы также можете включить только один конструктор, если все свойства являются обязательными.
- Если вы хотите использовать все конструкторы, всплывающее окно, как этот, является правильным шаблоном, чтобы избежать дублирования кода.
public class OrderRelatedIds
{
public int OrderGroupId { get; set; }
public int OrderTypeId { get; set; }
public int OrderSubTypeId { get; set; }
public int OrderRequirementId { get; set; }
public OrderRelatedIds()
{
}
public OrderRelatedIds(int orderGroupId)
: this()
{
OrderGroupId = orderGroupId;
}
public OrderRelatedIds(int orderGroupId, int orderTypeId)
: this(orderGroupId)
{
OrderTypeId = orderTypeId;
}
public OrderRelatedIds(int orderGroupId, int orderTypeId, int orderSubTypeId)
: this(orderGroupId, orderTypeId)
{
OrderSubTypeId = orderSubTypeId;
}
public OrderRelatedIds(int orderGroupId, int orderTypeId, int orderSubTypeId, int orderRequirementId)
: this(orderGroupId, orderTypeId, orderSubTypeId)
{
OrderRequirementId = orderRequirementId;
}
}
Или, если хотите, это действительно просто: вы также можете использовать инициализаторы типа:
OrderRelatedIds orders = new OrderRelatedIds
{
OrderGroupId = 1,
OrderTypeId = 2,
OrderSubTypeId = 3,
OrderRequirementId = 4
};
public class OrderRelatedIds
{
public int OrderGroupId;
public int OrderTypeId;
public int OrderSubTypeId;
public int OrderRequirementId;
}