Maison >développement back-end >C++ >Comment les types nullables peuvent-ils être utilisés comme paramètres génériques pour les fonctions de type valeur gérant les valeurs nulles potentielles de DbDataRecords ?
Autoriser les types nullables en tant que paramètres génériques pour les fonctions de type valeur
Considérez la nécessité de récupérer des valeurs à partir de DbDataRecords avec la possibilité de valeurs nulles. Une tentative d'utilisation de types nullables comme paramètres génériques a initialement conduit à une erreur indiquant que le type nullable doit être un type référence. Par la suite, la modification de la contrainte en structs a entraîné une autre erreur indiquant que le type nullable doit être non nullable.
Pour résoudre ce problème, la solution consiste à modifier le type de retour en Nullable
static void Main(string[] args) { int? i = GetValueOrNull<int>(null, string.Empty); } public static Nullable<T> GetValueOrNull<T>(DbDataRecord reader, string columnName) where T : struct { object columnValue = reader[columnName]; if (!(columnValue is DBNull)) return (T)columnValue; return null; }
Désormais, les types nullables peuvent servir de paramètres génériques pour les fonctions gérant les types de valeurs, tout en permettant la possibilité de valeurs nulles lors d'opérations impliquant DbDataRecords.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!