日期:2014-05-19  浏览次数:20895 次

求个简单的true重载的例子
比较两个对象operator   true(class1,class2)
{
        //code;
}

另外主要是怎么用这个重载。

谢谢了

------解决方案--------------------
public class MyClass
{
public static bool operator true(MyClass my)
{
if (my.test1 == true && my.test2 != true)
return true;
else if (my.test1 != true && my.test2 == true)
return true;
else return false;
}

public static bool operator false(MyClass my)
{
if (my.test1 == true && my.test2 != true)
return true;
else if (my.test1 != true && my.test2 == true)
return true;
else return false;
}

public bool test1;
public bool test2;


}

class Program
{
public static void Main()
{
MyClass my=new MyClass();
my.test1 = true;
my.test2 = false;
if (my)
Console.WriteLine( "first true ");
else
Console.WriteLine( "first false ");
my.test1 = false;
if (my)
Console.WriteLine( "second true ");
else
Console.WriteLine( "second false ");
Console.ReadKey();
}
}

重载这东西的意义是相当于重载了||和&&