カスタムコントロールを開発していて、コードに必要な主要なテンプレート部分があるとします。コントロールのユーザーがテンプレートをオーバーライドしてその部分が存在しなくなった場合は、どのような例外をスローする必要がありますか?考えてみましょう:Silverlightカスタムコントロールパース例外は...?
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
var grid = GetTemplateChild("MySpecialGridPart") as Grid;
if (grid == null)
throw new WhatExceptionGoesHere();
}
私はXamlParseExceptionを使うことにしましたが、例外にはパブリックctorがないと考えられました。このために適切な例外の型がありますか?それとも、新しいException()をスローするだけですか?
ええ、それは私が現在実装しているところです。私は単純な例外をスローしますが、詳細なメッセージを表示します。 – xanadont
それは私にはうれしいですね:-) – ColinE