496 Stimmen

C# generics-Syntax für mehrere Typ-Parameter-Beschränkungen

Mögliches Duplikat:
Generische Methoden und Mehrfachbeschränkungen

Ich brauche eine generische Funktion, die zwei Type Constraints hat, die jeweils von einer anderen Basisklasse erben. Ich weiß, wie man das mit einem Typ macht:

void foo<T>() where T : BaseClass

Ich weiß aber nicht, wie man das mit zwei Typen macht:

void foo<TOne, TTwo>() where TOne : BaseOne // and TTwo : BaseTwo ???

Wie kann man das machen? (mit .NET 2)

872voto

Joel Martinez Punkte 45129
void foo<TOne, TTwo>() 
   where TOne : BaseOne
   where TTwo : BaseTwo

Mehr Informationen hier:
http://msdn.microsoft.com/en-us/library/d5x73970.aspx

11 Stimmen

Suchen Sie nach "Constraining Multiple Parameters", wenn Sie nicht alles lesen wollen.

3 Stimmen

Ist es möglich, eine Einschränkung zu haben, die dies ermöglicht: void foo<TOne, TTwo>() where TOne : Class where TTwo : Class where TOne != TTwo Wir wissen also im Grunde nicht, was TOne und TTwo sind, außer dass sie Referenztypen sind, aber nicht dasselbe sein können.

1 Stimmen

@IronHide: Ich würde mich gerne eines Besseren belehren lassen ... aber ich bin mir zu 99% sicher, dass das nicht möglich ist :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X