Mega Code Archive

 
Categories / C# / Class Interface
 

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;     } }