私は、32から126までの整数値を表すことができ、「PByte」(Printable Byteの略)と呼ばれるタイプを含むdllに取り組んでいます。問題は、たとえば1000で型を初期化することからユーザーを保護したいということです。これは、例外をスローするべきではありません。Visiual Studioがたとえば256でバイトを初期化しようとするように、コンパイルを防ぐ必要があります。型はコンストラクターで初期化されます。
public PByte(int value)
{
/* if (value < 32 || value > 126)
throw new ArgumentException("\"" + value + "\" is an invalid value!"); */
this._value = value;
}
これ
PByte pb = new PByte(2000);
コンパイル可能であってはなりません。