博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用转换运算符

Posted on 2011-01-22 19:40  steve.z  阅读(231)  评论(0编辑  收藏  举报

http://msdn.microsoft.com/zh-cn/library/85w54y0a(VS.80).aspx

 

 

代码
//卡车
class Truck
{
public Truck()
{
Desc
= "卡车";
}

string _desc;

public string Desc
{
get { return _desc; }
set { _desc = value; }
}

public static explicit operator Truck(Car c)
{
Truck t
= new Truck();
t.Desc
= c.Desc;
return t;
}

}

//轿车
class Car
{
public Car()
{
Desc
= "轿车";
}

string _desc;

public string Desc
{
get { return _desc; }
set { _desc = value; }
}

public static implicit operator Car(Truck t)
{
Car c
= new Car();
c.Desc
= t.Desc;
return c;
}
}

//调用
class Program
{
static void Main(string[] args)
{
Truck t
= new Truck();
Car c
= new Car();
Console.WriteLine(
"Truck:" + t.Desc);
Console.WriteLine(
"Car:" + c.Desc);

Console.WriteLine(
"explicit and implicit");

Truck t1
= (Truck)c;
Car c1
= t;
Console.WriteLine(
"Truck:" + t1.Desc);
Console.WriteLine(
"Car:" + c1.Desc);
}
}