Pourquoi tout le monde rend la vie si difficile. Les tuples sont plutôt pour données temporaires traitement. Travailler en permanence avec des Tuples rendra le code très difficile à comprendre à un moment donné. Créer des classes pour todo pourrait éventuellement gonfler votre projet.
C'est une question d'équilibre, cependant...
Votre problème semble être quelque chose pour lequel vous voudriez une classe. Et juste pour être complet, cette classe ci-dessous contient également des constructeurs.
C'est le modèle approprié pour
- Un type de données personnalisé
- sans autre fonctionnalité. Les récupérateurs et les régleurs peuvent également être développés avec du code, en obtenant/réglant des membres privés avec le modèle de nom "_orderGroupId", tout en exécutant également du code fonctionnel.
- Inclure les constructeurs. Vous pouvez également choisir d'inclure un seul constructeur si todo sont obligatoires.
- Si vous voulez utiliser tous les constructeurs, le bouillonnement comme celui-ci est le modèle approprié pour éviter la duplication du code.
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;
}
}
Ou, si vous voulez que ce soit vraiment simple : Vous pouvez aussi utiliser des initialisateurs de type :
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;
}