Search:

Custom Search
_________________________________________________________________

Friday, May 30, 2008

Advance C# programming, overload unary plus.

C# let’s you overload the behaviour of some unary operator such as: unary plus, minus, prefix increment, decrement, true keyword, false keyword and more.

Ok, now let’s make a small example on how to overload the unary plus. For this, you need to define a method (in the class that you want to implement the overload) containing a few things: the return type, the operator keywords (in this case +), the parameter that usually is the object or structure where the method is being defined.

Let’s make now a small example:

-First we create a small class and define the overload plus:

public class MyClass
{

public double value;

public static MyClass operator +(MyClass Mc)

{
MyClass myC = new MyClass();
if (Mc.value <0)
myC.value = -Mc.value;

else
myC.value = Mc.value;

return myC;
}

}

-Main:

static void Main(string[] args)
{

MyClass MyCs = new MyClass();
MyClass MyCsP = new MyClass();

//Both negative and positive values to see effect
MyCs.value = -10.80;
MyCsP.value = 300;

Console.WriteLine("Before: " + MyCs.value);
Console.WriteLine("\t" + MyCsP.value);

//Using the + operator triggers the method
MyCs = +MyCs;
MyCsP = +MyCsP;

Console.WriteLine("After: " + MyCs.value);
Console.WriteLine("\t" + MyCsP.value);

Console.Read();

}

-Console:

No comments: