Ich mag eine einfache generische Funktion erstellenC#: Wie generische Methode verwenden, um mit „out“ Variable
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);
}
Verbrauch:
int value;
string text;
Assign(value); // <<< should set value to 100
Assign(text); // <<< should set text to "hello"
Meine Frage ist, wie Sie den Code programmieren zu setzen diese Werte, dh. die fehlenden Codes im Kommentarbereich.
Danke für jede Hilfe.
Vielen Dank; das funktioniert. Der Grund, warum ich generischen Ansatz verwende, ist, meinen Code zu vereinfachen. Weil der "assign code" nur für einen bestimmten Typ benötigt wird (zB string); Es wäre schlecht, überladene Funktionen für alle möglichen Arten dort draußen zu schaffen. Ergebnis = Standard (T) // ist das gemeinsame Verhalten –
Ich stimme nicht mit Ihnen überein. Ich denke, Überladung ist genau dafür. Verwenden Sie Generika nur bei Bedarf. – Sheldon