2 Stimmen

Wie erhalten wir durch die Implementierung einer Schnittstelle eine stark typisierte API?

In C# in der Tiefe, Jon Skeet verwendet IEquatable<> a Überschreiben Sie überlasten die Equals() Betrieb.

public sealed class Pair<T1, T2> : IEquatable<Pair<T1, T2>>
{
    public bool Equals(Pair<T1, T2> other)
    {
       //...
    }
}

Er sagt, wir tun dies, "um eine stark typisierte API zu erhalten, die unnötige Ausführungszeitprüfungen vermeidet".

Welche Ausführungszeitprüfungen werden vermieden? Noch wichtiger ist, wie wird durch die Implementierung einer Schnittstelle eine stark typisierte API erreicht?

Vielleicht habe ich im Kontext des Buches etwas übersehen. Ich dachte, Schnittstellen ermöglichen uns die Wiederverwendung von Code durch Polymorphismus. Ich habe auch verstanden, dass sie gut sind, um auf eine Abstraktion statt auf einen konkreten Typ zu programmieren. Das ist alles, was mir bekannt ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X