C# 通过implicit 和 explicit可以实现隐式和显示转换;
public class MyClass { public int iValue; public MyClass(int iValue) { this.iValue = iValue; } //显示转换 public static explicit int(MyClass myClass)//(1) { return myClass.iValue; } public static explicit MyClass(int iValue)//(2) { return new MyClass(iValue); } 隐式转换 public static implicit int(MyClass myClass)//(3) { return myClass.iValue; } public static implicit MyClass(int iValue)//(4) { return new MyClass(iValue); } }使用方法:
static void main(string[] args) { MyClass myClass = new MyClass(10); int iValue = myClass;//使用的函数(3),属于隐式转换 int iValue1 = (int)myClass;//使用的函数(1),属于显示转换 MyClass myClass1 = iValue;//使用的函数(4),属于隐式转换 MyClass myClass2 = (MyClass)iValue1;//使用的函数(2),属于显示转换 }