Tuesday, March 16, 2010

Operator Overload

נניח שיש לכם את המחלקה הבאה:

class Dolar
{
   public double Value { get; set; }

   public Dolar(double value)
   {
       Value = value;
   }
}

וב - main


Dolar d1 = new Dolar(10);
Dolar d2 = new Dolar(20);

if (d1.Value > d2.Value)
{
}

לכאורה הקוד היה יותר קריא לו יכולנו לכתוב כך


if (d1 > d2)
{
}

כדי לעשות את זה צריך להוסיף למחלקה את הקוד הבא

public static bool operator >(Dolar d1, Dolar d2)
{
   return d1.Value > d2.Value;
}

public static bool operator <(Dolar d1, Dolar d2)
{
   return d1.Value < d2.Value;
}

Read more: שלמה גולדברג

Posted via email from jasper22's posterous