Ich habe eine Klasse dieser Art verzichten:Was ist, wenn T in Generics ungültig ist? Wie spitze Klammern
class A<TResult>
{
public TResult foo();
}
Aber manchmal brauche ich diese Klasse als nicht generische Klasse zu verwenden, dh die Art TResult
void
ist.
Ich kann die Klasse in der folgenden Art und Weise instanziiert:
var a = new A<void>();
Auch würde ich eher nicht den Typ angeben, die spitzen Klammern Weglassen:
var a = new A();
Ich will nicht wieder- schreibe die ganze Klasse, weil sie das Gleiche macht.
Kannst du 'Objekt' nicht einfach verwenden? – Davio
@Davio ja, aber es ist schrecklich ... – Nick
In diesem Fall müssen Sie eine separate Klasse "A" ohne die Einschränkung erstellen. Aber wie sieht die Klassenimplementierung ohne T aus? Sie haben eine 'T foo()' Methode darauf. Was sollte T im Fall von nichtig sein? – nawfal