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