Heim > Backend-Entwicklung > C++ > Wird die Kovarianztyp der C# -Unterstützung für die Rückkehrtyp und wie kann sie erreicht werden?

Wird die Kovarianztyp der C# -Unterstützung für die Rückkehrtyp und wie kann sie erreicht werden?

Linda Hamilton
Freigeben: 2025-01-29 15:41:09
Original
823 Leute haben es durchsucht

Does C# Support Return Type Covariance, and How Can It Be Achieved?

Der Rückgabetyp der Zusammenarbeit im Rückgabetyp: Unterstützung und Implementierung

Der Rückgabetyp in der C#ermöglicht es der Ableitungsklasse, einen spezifischeren Typ zurückzugeben als ihre Basisklasse. Diese Funktion ermöglicht es, eine Methode zu erstellen, die sowohl berufliche Verhaltensweisen liefern als auch die Integrität der hierarchischen Struktur aufrechterhalten kann.

Schauen wir uns ein Beispiel an:

In dieser Szene gibt es eine Methode, um eine Zeichenfolge in der
public abstract class Animal
{
    public abstract string GetName();
}

public class Cat : Animal
{
    public string GetMeow();
}
Nach dem Login kopieren
-Klasse zurückzugeben, um anzugeben, dass der Miau -Anruf sehr nützlich sein wird. C#unterstützt jedoch die Koordination von Rückgabetyp nicht direkt.

Cat In der ersten Antwort im Jahr 2011 unterstützte C#keine Rückgabe von Arten von kollaborativen Änderungen, und aufgrund der Einschränkungen der öffentlichen Sprachen (CLR) war es unwahrscheinlich, dass es in Zukunft realisiert wurde. In der neuesten Version von C#hat sich diese Situation jedoch geändert. Siehe den Link -Artikel "

https://www.php.cn/link/40f4d60542d86344e5711c7a5584832

Die kollaborative Rückgabe", verstehen Vor der Einführung der Rückgabetyp -CO -Changes besteht eine Lösung darin, eine Zwischenmethode einzuführen, um den Rückgabewert der abgeleiteten Klasse zu erhalten.

Mit dieser Technologie kann ein spezifisches
public abstract class Animal
{
    public abstract object GetContents();
    public Animal Contents() { return (Animal)GetContents(); }
}

public class Cat : Animal
{
    protected override object GetContents() { return this; }
    public new string Contents() { return GetMeow(); }
}
Nach dem Login kopieren

abrufen und in diesem Beispiel eine Zeichenfolge zurückgeben. Cat Contents Obwohl die Version vor C# 9.0 die Koordination von Rückgabetyp nicht direkt unterstützt, kann die besprochene Lösung dennoch als Methode verwendet werden, um das erforderliche Verhalten zu realisieren. Es ist jedoch zu beachten, dass in der höheren Version von C#die formale Implementierung der Koordination von Rückgabetyp eine elegantere und prägnantere Lösung darstellt.

Das obige ist der detaillierte Inhalt vonWird die Kovarianztyp der C# -Unterstützung für die Rückkehrtyp und wie kann sie erreicht werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage