namespace RemoveDemo
{
public class Product
{
private string id = string.Empty ;
public Product(string id)
{
this.id = id;
}
public static Product GetProduct(string id)
{
return new Product(id);
}
public override bool Equals(System.Object obj)
{
// If parameter is null return false.
if (obj == null)
{
return false;
}
// If parameter cannot be cast to Point return false.
Product p = obj as Product;
if ((System.Object)p == null)
{
return false;
}
// Return true if the fields match:
return this.id == p.id;
}
public static bool operator ==(Product product1, Product product2)
{
// If both are null, or both are same instance, return true.
if (System.Object.ReferenceEquals(product1, product2))
{
return true;
}
// If one is null, but not both, return false.
if (((object)product1 == null) || ((object)product2 == null))
{
return false;
}
// Return true if the fields match:
return product1.id == product2.id;
}
public static bool operator !=(Product product1, Product product2)
{
// Return true if the fields match:
return product1 != product2;
}
public override int GetHashCode()
{
return base.GetHashCode() ^ Int32.Parse(id);
}
}
}