TwitterFacebookGoogleYouTubeEmailRSS

Ein eigener Datentyp (Teil 6)

Im letzten Teil (siehe: Ein eigener Datentyp (Teil 5)) haben wir uns um die Konvertierung aus Standard-Datentypen gekümmert. In diesem Teil soll es nun um die überschriebenen Methoden der Basisklasse – Object – gehen. Hier müssen wir die Implementierung für drei Methoden vornehmen, „Equals(object)“, „GetHashCode()“ sowie „ToString()“. Beginnen wir mit der „Equals“-Methode. Diese ist eigentlich auch schon die „komplizierteste“ der drei genannten. Hier würde ich die folgende Implementierung vorschlagen:

public override bool Equals(object obj)
{
    return ((obj is Int24) && (Value == ((Int24)obj).Value)) || ((obj is int) && (Value == (int)obj));
}

Weiter geht es nun mit der „GetHashCode“-Methode. Bei dieser können wir uns der vorhandenen Methode aus dem internen Integer-Typen zu Nutze machen. Von daher haben wir folgende total simple Implementierung:

public override int GetHashCode()
{
    return Value.GetHashCode();
}

Zu guter Letzt noch die „ToString“-Methode. Auch diese sieht nicht weiter komplex aus.

public override string ToString()
{
    return Value.ToString(CultureInfo.InvariantCulture);
}

Damit wären wir mit diesem Teil auch bereits durch. Im nächsten Teil wird es im der Interface Implementierung der „IComparable“-Schnittstelle gehen.

Hinterlasse ein Kommentar.

CyberChimps

Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir Cookies verwenden. Informationen zum Datenschutz

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen