GUIプロジェクトで使用されるライブラリで定義されたクラス Foo があります。GUI プロジェクトでは、 の助けを借りて Foo のインスタンスをグラフィカルに編集できますSystem.Windows.Forms.PropertyGrid
。
クラス Foo のインスタンスをPropertyGrid
快適に編集するには、たとえば Foo のプロパティにいくつかの属性を設定する必要がありますBrowsable
。
ただし、これらの属性を Foo に設定したくありません。これが含まれているライブラリには、コードで (GUI ではなく) Foo を使用するために必要なものだけが含まれている必要があるためです。
PropertyGrid
フレンドリーなバージョンの Fooを入手するにはどうすればよいですか?
私はすでにそれを継承して (FooDesignable という名前を付けて)、必要な属性でそのプロパティをシャドウイングしようとしました。ただし、Foo がライブラリ プロジェクトの他のカスタム クラスを使用していることを発見するまで、それはうまく機能しませんでした。その後、Foo の既存のプロパティをシャドウし、XxxDesignable 型を返すように変更する必要がありました。
私はここで行き止まりですか?それとも私が悪いことを考えているだけですか?