2015-04-28 61 views
0

如果我需要某種類型的Int32的引用類型包裝(例如數據庫Id),該怎麼辦?如何隱式地將Int32轉換爲我的類?我可以使用implicid轉換器將通用值類型的類型轉換(如Int32)擴展爲我的自定義類型嗎?

+1

爲什麼你需要一個包裝?你能詳細說明一下嗎? –

+0

只是int32或所有常見的值類型?使用隱式運算符或實現IConvertible。 –

+0

如果你只需要一個可以爲null的int,那麼你可以使用'Nullable '或'int?'。 –

回答

2

創建靜態隱式轉換操作符:

public class MyClass 
{ 
    .... 
    static public implicit operator MyClass(int value) 
    { 
     // Create a new instance of your class using the value. 
    } 
    ... 
} 

創建後,你可以做這樣的事情:

MyClass myInstance = 48; 

欲瞭解更多信息,請參閱MSDN:Using Conversion Operators (C# Programming Guide)

相關問題