2011-01-07 13 views
1

Betrachten Sie die folgende generic:C# generische Typ-Constraints - verhindern, dass Typparameter identisch sind?

class Foo<T, U> {} 

Ist es möglich, zu verhindern, T und U die gleiche Art zu sein? Diese Frage ist aus Neugier entstanden.

+0

Ich nehme an, Sie suchen nicht nach Antworten, die massive zusätzliche Einschränkungen auferlegen (z. B. T: Klasse, U: Struktur oder verschiedene Vererbungshierarchien) :-) –

+0

Nicht zur Kompilierzeit. Aber offensichtlich könntest du es zur Laufzeit durch Ausnahme machen :) – digEmAll

+0

Es ist ein Gedankenexperiment. Der in einer Antwort vorgeschlagene statische Konstruktor ist interessant. – Amy

Antwort

1

Nein, so etwas gibt es nicht. Aber vielleicht möchten Sie mit Template-Metaprogrammierung in andere Sprachen schauen, wie D - sie sind viel leistungsfähigere, kompilierbare Varianten von Generika.

Verwandte Themen