„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Kann C# einen partiellen generischen Typ -Inferenz implementieren, und wenn ja, wie?

Kann C# einen partiellen generischen Typ -Inferenz implementieren, und wenn ja, wie?

Gepostet am 2025-03-22
Durchsuche:891

Can C# Implement Partial Generic Type Inference, and If So, How?

Kann teilweise generische Typ -Inferenz in C#?

Übersicht

In diesem Artikel werden die Herausforderungen der Implementierung von Typ -Inferenz in C#untersucht. Der beschriebene Fall sollte für eine bestimmte Basisklasse eine Erweiterungsmethode mit generischen Parametern zur Verfügung stehen. Die Erweiterungsmethode sollte jedoch auch einen bestimmten Typ zurückgeben, der sich auf den jeweiligen Nachkommen bezieht, auf den sie aufgerufen wird. Es gibt jedoch Strategien, die ein ähnliches Ergebnis erzielen. P, Zeichenfolge Name, t Wert) wobei Treg: parametrisierte Registrationbase

für diesen Ansatz erfordert beide generischen Typ -Argumente während des Aufrufs, die in allen Fällen möglicherweise nicht wünschenswert sind. That areWrapper that (diese Ienumerable Quelle) { Neue thatareWrapper (Quelle) zurückgeben; } öffentliche Klasse, die AareWrapper { // ... Implementierung }

und:

listoffruits.that (). Sind (). WO (Banana => banana.peel! Class

Wenn die Erweiterungsmethoden direkt in die Basisklasse eingeführt werden, kann das Problem vermieden werden. Dieser Ansatz beseitigt jedoch die Fähigkeit, die Erweiterungsmethoden für andere Klassen in der Zukunft zu verwenden. Der spezifische Verwendungsansatz hängt von den spezifischen Anforderungen und Kompromisse ab.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3