Thanks to visit codestin.com
Credit goes to github.com

Skip to content

EqualityChecking

tom-englert edited this page Feb 17, 2025 · 3 revisions

Equality check will be done before setting the field and firing the event.

public string Property1
{
    get
    {
        return property1;
    }
    set
    {
        if (!String.Equals(property1, value))
        {
            OnPropertyChanging("Property1");
            property1 = value;
        }
    }
}

The method used for equality checking is based on the property Type. The evaluation is done in the following order.

  • Check if the Type is a Nullable<T> and use Nullable.Equals<T>(T?,T?).
  • Check if the Type has a static Equals method with two parameters matching Type.
  • Check if the Type has and Equality Operator (==) with both parameters matching Type.
  • Use Object.Equals(object, object).

If you don't want to perform equality checking for a give property then add a [DoNotCheckEquality].

Clone this wiki locally