Ich habe dies:Generics, ohne einen bestimmten Typ
class Program
{
static void Main(string[] args)
{
var result = new Result<int, bool> { success = true, Data = 88 };
var result2 = new Result<string, bool> { success = true, Data = "Niels" };
Console.WriteLine(result2.success);
Console.WriteLine(result2.Data);
Console.ReadKey();
}
}
public class Result<T, TU>
{
public TU success { get; set; }
public T Data { get; set; }
}
So dies eine einfache generische Klasse mit zwei Eigenschaften ist.
ich gerade fragen, wie dies machen:
var result = new Result<int, bool> { success = true, Data = 88 };
noch generic :). Weil Sie noch haben „sagt“, was die Rückkehr Typ sein: <int, bool>
So ist es möglich, es zum Beispiel, wie dies zu tun:
<T var1, T var2> ?
Danke
Also ich meine, wie dies :
var result = new Result<T var1, T var2> { success = true, Data = 88 };
Damit Sie für den Erfolg und für Daten füllen kann, was auch immer Sie (string, int, float, bool) wollen ..
Sie meinen, Sie möchten eine Instanz von 'Result' erstellen, ohne explizit die generischen Typen zu schreiben? – grek40
'public Ergebnis f (T t, TU tu) => neu Ergebnis (t, tu);' ist generischer. Aber der Compiler muss von irgendwo die Typparameter bekommen. Sie müssen genauer angeben, was '' bedeuten soll. –
Konstruktoren können die generischen Typargumente nicht automatisch ableiten. Aber Methoden * können *, verwenden Sie also eine Factory-Methode wie von grek40 zur Verfügung gestellt. – HimBromBeere