the overridden methods of the System.Object class : Class Deriving « Class Interface « C# / C Sharp






the overridden methods of the System.Object class

 

using System;
using System.Collections;


public class Starter {
    public static void Main() {
        Employee obj1 = new Employee(5678);
        Employee obj2 = new Employee(5678);
        if (obj1 == obj2) {
            Console.WriteLine("equals");
        } else {
            Console.WriteLine("not equals");
        }
    }
}

class Employee {

    public Employee(int id) {
        if ((id < 1000) || (id > 9999)) {
            throw new Exception(
                "Invalid Employee ID");
        }

        propID = id;
    }

    public static bool operator ==(Employee obj1, Employee obj2) {
        return obj1.Equals(obj2);
    }

    public static bool operator !=(Employee obj1, Employee obj2) {
        return !obj1.Equals(obj2);

    }

    public override bool Equals(object obj) {
        Employee _obj = obj as Employee;

        if (obj == null) {
            return false;
        }
        return this.GetHashCode() == _obj.GetHashCode();
    }

    public override int GetHashCode() {
        return EmplID;
    }

    public string FullName {
        get {
            return propFirst + " " +
                propLast;
        }
    }

    private string propFirst;
    public string First {
        get {
            return propFirst;
        }
        set {
            propFirst = value;
        }
    }

    private string propLast;
    public string Last {
        get {
            return propLast;
        }
        set {
            propLast = value;
        }
    }

    private readonly int propID;
    public int EmplID {
        get {
            return propID;
        }
    }

    public override string ToString() {
        return FullName;
    }
}

 








Related examples in the same category

1.Demonstrates deriving a new class from a base class in another assemblyDemonstrates deriving a new class from a base class in another assembly