Naive Frage über Java-Syntax. Was bedeutetJava Syntax Frage: <O> O akzeptieren (ObjectVisitorEx <O> Besucher)
<T> T accept(ObjectVisitorEx<T> visitor);
bedeuten? Was wäre das C# -Aquivalent?
Naive Frage über Java-Syntax. Was bedeutetJava Syntax Frage: <O> O akzeptieren (ObjectVisitorEx <O> Besucher)
<T> T accept(ObjectVisitorEx<T> visitor);
bedeuten? Was wäre das C# -Aquivalent?
Das C# -Aquivalent wäre mehr oder weniger das gleiche. Wenn der Besucher eine Schnittstelle wäre, würde es
O Accept(IObjectVisitorEx<O> visitor);
Müssten Sie nicht irgendwo O erklären? –
siehe Java: http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html
und C#: http://msdn.microsoft.com/en-us/library/ms379564(VS.80).aspx
Eine ähnliche C# Methode
public T Foo<T>(Queue<T> v) // Queue<T> chosen for simplicity
{
return v.Dequeue();
}
könnte
Diese für das Bestehen Typen als Parameter verwendet wird. Die C# -Syntax ist dieselbe (<Typ>). Schlagen Sie vor, nach Begriffen wie "Generika" zu suchen, da dies der gesuchte Begriff ist.
In C# könnte es sein:
O Accept<O>(ObjectVisitorEx<O> visitor);
Was ist der Unterschied zwischen dem Hinzufügen von Accept
Mit @ AgileJon Antwort ist die Klasse generisch. Auf diese Weise ist nur die Methode generisch ... –
Die ursprüngliche Frage fragt tatsächlich über a generische Methode –
Ist das nicht ein 'O' (oh) eher und eine '0' (Null)? – OscarRyz
Es ist ein "O" (oh), aber es sieht wie eine Null aus. –
O ist wahrscheinlich nicht der beste Bezeichner ... –