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.

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