我如何隐式地将我的类转换为另一种类型?

时间:2010-06-10 16:46:23

标签: c# .net operators implicit

例如隐含地

MyClass myClass = new MyClass();
int i = myClass;

3 个答案:

答案 0 :(得分:12)

您需要在MyClass文件中定义此内容。

public static implicit operator int(MyClass instance) 
{
    if (instance == null) 
    {
        return -1;
    }
    return instance._underlyingValue;
}

答案 1 :(得分:4)

class MyClass 
{
   public static implicit operator int(MyClass myClass) 
   {
      // code to convert from MyClass to int
   }
}

看看那里:implicit

答案 2 :(得分:2)

这个MSDN entry涵盖了你想要的东西,应该这样做。