Her*_*ton 4 c# visual-studio-2010
我正在研究一个dll,它包含一个能够表示32到126之间整数值的类型,并被称为"PByte"(用于Printable Byte).问题是我想保护用户不要用例如1000初始化类型.这不应该抛出异常.它应该阻止编译,就像Visiual Studio尝试初始化例如256的字节一样.该类型在构造函数中初始化.
public PByte(int value)
{
/* if (value < 32 || value > 126)
throw new ArgumentException("\"" + value + "\" is an invalid value!"); */
this._value = value;
}
Run Code Online (Sandbox Code Playgroud)
这个
PByte pb = new PByte(2000);
Run Code Online (Sandbox Code Playgroud)
不应该是可编译的.
小智 5
您希望在编译时发生运行时异常吗?这不可能!
应该PByte pb = new PByte(get399());
编译吗?不,但是如何get399()
在不运行程序的情况下知道什么呢?
但首先你应该让参数成为一个byte
类型.这将产生0-255之外的数字的编译时例外.
归档时间: |
|
查看次数: |
47 次 |
最近记录: |