2011-05-07 73 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你的类型,你可以使用该设定值检查学边界等条件的,完全可行的属性或方法。

但是将其定义为本机...负面,先生。

相关问题