まず、エラーが発生した場合 (処理されたかどうかにかかわらず) 例外をスローしてアプリケーションを実行します。
次にTypeConverter、ユーザー入力文字列から実際のオブジェクトに変換するために を使用しています。
3番目にはメソッドがTypeConverter提供されていないTryConvertため、検証に例外を使用して行き詰まっています。ここでは、かなり醜いコードを使用しています。
try
{
this._newValue = null;
#pragma Magic_SuppressBreakErrorThrown System.Exception
this._newValue = this.Converter.ConvertFromString(this._textBox.Text);
#pragma Magic_ResumeBreakErrorThrown System.Exception
this.HideInvalidNotification();
}
catch (Exception exception)
{
if (exception.InnerException is FormatException)
{
this.ShowInvalidNotification(this._textBox.Text);
}
else
{
throw;
}
}
-of-1やその他の無効な文字を入力するたびに VS が実行を中断するのはかなり気が散ります。これに似たものを使用できますが、変換しているすべての型がTryParseメソッドを持つわけではありません。
try例外設定を変更せずに、コード内のセクションの中断を無効にする方法があることを願っています。