Betrachten Sie zwei Erweiterungsmethoden: < /p>
public static T MyExtension(this T o) where T:class
public static T MyExtension(this T o) where T:struct
< /code>
und eine Klasse: < /p>
class MyClass() { ... }
< /code>
Rufen Sie nun die Erweiterungsmethode in einer Instanz der obigen Klasse an: < /p>
var o = new MyClass(...);
o.MyExtension(); //compiler error here..
o.MyExtension(); //tried this as well - still compiler error..
< /code>
Der Compiler sagt, dass das Aufrufen der Methode ein mehrdeutiger Anruf ist, wenn ich ihn in einer Klasse aufrufe. Ich hätte gedacht, dass es bestimmen könnte, welche Erweiterungsmethode aufgerufen werden soll, da MyClass eine Klasse ist, keine Struktur?
Mehrdeutiger Anruf zwischen zwei C# -Erweiterung Generische Methoden eins wobei t: Klasse und andere wobei t: struktur ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Wie erzeugen in diesem Fall eine Beziehung eins zu eins für Doktrinentitäten?
by Anonymous » » in Php - 0 Replies
- 5 Views
-
Last post by Anonymous
-