2010-06-03 3 views

Antwort

10

Die Erweiterungsmethoden unter Object gelten auch für Werttypen. (Und sie werden durch den Aufruf eingerahmt werden, wodurch die Leistung)

Erweiterungsmethoden auf <T> aber ohne where T : class wird auch auf Werttypen funktionieren, aber sie nicht boxen.

Zusätzlich Erweiterungsmethoden auf <T> kann typeof(T) schreiben die Kompilierung- Art ihres Aufrufs zu bekommen.
Wenn Sie das tun, beachten Sie den Unterschied zwischen

someButton.Extension(); 
someButton.Extension<Control>(); 
someButton.Extension<Object>(); 
+0

Außerdem wird die Methode, um die Art des Arguments wissen, auch wenn es 'null' ist, wenn die generische Version. Könnte wichtig sein, oder vielleicht auch nicht. –

Verwandte Themen