2010-06-10 92 views

回答

9

您需要在MyClass文件來定義這一點。

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

它應該是一個int?隱式轉換,所以不需要是魔法值?特別是如果-1可能是合法的基礎價值。我認爲對於這種情況,如果轉換不可能或拋出異常,您要麼返回null。 (顯然你的答案符合規範,所以這更多的是對規範的質疑而不是回答。) – 2010-06-10 17:14:49

+1

@Anthony - 原則上,我同意你的看法。在實踐中,它高度依賴於所討論的課程。 – ChaosPandion 2010-06-10 17:18:51

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

看看有:implicit

2

MSDN entry涵蓋了你想要什麼,應該做的伎倆。

相關問題