


Warum kann ich „RepositoryBase' in C# nicht in „RepositoryBase' umwandeln?
Generische Einschränkungen beim Casting verstehen
Generika bieten einen leistungsstarken Mechanismus für typsichere Programmierung in C#. Es gibt jedoch bestimmte Einschränkungen im Zusammenhang mit der Umwandlung, wenn es um geerbte Klassen und Basisklassen geht.
Betrachten Sie das folgende Beispiel:
public abstract class EntityBase { } public class MyEntity : EntityBase { } public abstract class RepositoryBase<T> where T : EntityBase { } public class MyEntityRepository : RepositoryBase<MyEntity> { }
In diesem Szenario wird versucht, ein MyEntityRepository in ein umzuwandeln RepositoryBase
Erklärung:
Das MyEntityRepository ist keine Basisklasse von RepositoryBase
Auswirkungen der generischen Varianz:
Generische Varianz bezieht sich auf die Fähigkeit generischer Typen, Subtyp- und Supertyp-Beziehungen zu behandeln. In C# werden generische Kovarianz und Kontravarianz in begrenztem Umfang unterstützt. In diesem Fall ist die Kovarianz jedoch nicht anwendbar, da die Basisklasse kein Untertyp der abgeleiteten Klasse ist.
Mögliche Lösung:
Leider gibt es keine direkte Möglichkeit, ein MyEntityRepository in eine RepositoryBase
Das obige ist der detaillierte Inhalt vonWarum kann ich „RepositoryBase' in C# nicht in „RepositoryBase' umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

GULC: C -Bibliothek von Grund auf neu gebaut

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

eindeutiger Gebrauch und Phrasenfreigabe

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?
