有时需要将一种类型转换为另一种类型,通过隐式转换和显示转换可以达到这个效果。其实这两种转换在c sharp里面也是支持用户自定义的。自定义转换时的方法必须使用public static修饰。
示例代码:
using System;
public sealed class Program
{
private int x;
// convert an int to Program implicitly
public static implicit operator Program(int p)
{
return new Program(p);
}
// convert a Program object to int explicitly
public static explicit operator int(Program p)
{
return p.x;
}
// initialize the field x
public Program(int x)
{
this.x = x;
}
public static void Main()
{
// convert int to Program implicitly
Program p = 2;
// convert Program to int explicitly
int a = (int) p;
// display the result
Console.WriteLine(a);
}
}