Je veux créer une simple fonction génériqueC#: Comment utiliser la méthode générique "out" variables
void Assign<T>(out T result)
{
Type type = typeof(T);
if (type.Name == "String")
{
// result = "hello";
}
else if (type.Name == "Int32")
{
// result = 100;
}
else result = default(T);
}
Utilisation:
int value;
string text;
Assign(value); // <<< should set value to 100
Assign(text); // <<< should set text to "hello"
Ma question est comment le programme vous le code pour définir ces valeurs ie. les codes manquants dans la section des commentaires.
Merci pour toute aide.
Merci beaucoup; cela marche. La raison pour laquelle j'utilise une approche générique est de simplifier mon code. Parce que le "code d'assignation" est seulement nécessaire pour un type spécifique (par exemple une chaîne); il serait mauvais de créer des fonctions surchargées pour tous les types possibles là-bas. Résultat = défaut (T) // est le comportement courant –
Je ne suis pas d'accord avec vous. Je pense que la surcharge est exactement pour ça. Utilisez des génériques uniquement lorsque cela est nécessaire. – Sheldon