WebBrowserコントロールとTextプロパティ(その2)

やまきさんに言及頂いた。

Yuya Yamaki’s blog

最初は私も何か変わったことをしているのではないか、と思ったのだが、恐らくはSystem.Windows.Forms.WebBrowserBase#Textプロパティが以下のように実装されているだけではないだろうか。

[EditorBrowsableAttribute(EditorBrowsableState.Never)]
public override string Text {
  get { return ""; }
  set { throw new NotSupportedException(); }
}
(""が戻るのと、NotSupportedExceptionがスローされるのは確認済み。しかし、.NET Frameworkのアセンブリを解析するのはライセンス違反なので、以上はあくまでも想像のコード)

.NET Frameworkが出来、WindowsFormsが整備されて、System.Windows.Forms.Controlクラスという全てのコントロールのスーパクラスが提供されたことにより、例えばTextプロパティ等はコントロールの種別を意識しないでアクセスできるプロパティだと思っていたのだが、残念ながらそうではなく、例え文字列プロパティのアクセスであっても扱いに注意しなくてはならないようだ。