Ausschließen von Typen in den allgemeinen Einschränkungen (möglich?)

8

Ist es möglich, bestimmte Typen aus der Menge möglicher Typen auszuschließen, die in einem generischen Parameter verwendet werden können? Wenn ja wie.

Zum Beispiel

%Vor%

würde jeden Typ außer dem Typ bool bedeuten.

Bearbeiten

Warum?

Der folgende Code ist mein Versuch, die negative Einschränkung durchzusetzen.

%Vor%

Wie Sie sehen können, beinhaltet das ein bisschen Vertrauen in die korrekte Überladungsauflösung und ein bisschen @jonskeet -esque bösen Code.

Kommentieren Sie den Abschnitt mit den Abschlüssen des abgeleiteten Typs und es funktioniert nicht.

Es wäre so viel besser, die ausgeschlossene generische Einschränkung zu haben.

    
Adam Speight 17.05.2012, 20:06
quelle

2 Antworten

4

Nein, Sie können keine einmaligen Ausschlüsse wie diese unter Verwendung von Typeinschränkungen vornehmen. Sie können es jedoch zur Laufzeit tun:

%Vor%     
vcsjones 17.05.2012 20:10
quelle
0

Das klingt nach einem Aspekt des Programms. Vielleicht können Sie die aspektorientierte Programmierung in Betracht ziehen, um diese Einschränkung zur Kompilierzeit bereitzustellen.

PostSharp sollte diese Möglichkeit bieten.

    
Scott Nimrod 12.11.2014 13:40
quelle

Tags und Links