2011-05-07 107 views
1

我在VS 2010中創建了vb.net中的WCF。我有一些屬性當前是字節(0 - 255)並表示不同的測試分數。是否有可能基於此創建我自己的類型,只允許0到110之間的值?例如,如果我有是否有可能在.net中創建自定義字節

Dim a as Byte 
a = 256 

我將得到「常量表達式不能在'Byte'類型中表示。」代碼編譯之前。我想對我自己的類型有這樣的東西,所以下面的代碼會給我「常量表達式不能在類型'myByte'中表示。」

Dim a as myByte 
a = 110 

回答

1

不,我不認爲這是可能的。你將不得不使用一個構造函數來初始化你的myByte實例,並在運行時進行範圍檢查(不確定這是多麼有用)。

2

您只能使用預定義(原生)類型,如字節,並實現一些功能,比如運算符重載,檢查最小值和最大值。但是,並不是每個操作員都可能超載,在這種情況下,包括分配操作員'='。

檢查http://msdn.microsoft.com/en-us/library/8edha89s%28v=vs.71%29.aspx和教程,如果它有所幫助。

要分配一個值Tp你的類型,你可以使用該設定值檢查學邊界等條件的,完全可行的屬性或方法。

但是將其定義爲本機...負面,先生。

相關問題