NB:この質問は一般的な質問と同様にタグが付けられており、 答えはC#でこれを使用することを説明するもので、私にとって完璧です。PropertyGrid.BrowsableAttributesの興味は?
最近、.NET FrameworkでPropertyGridを調べています。私はこのプロパティ(BrowsableAttributes)をチェックしていますが、私はそれを使用することは考えていません。
最初に私はあなたのSelectedObject
の中でBrowsableAttribute
のすべてをループすることができると思っていました。元のプロパティーを見つけることができれば便利でしょう。
しかし、いや、どうやらすべてこのプロパティは、誰かがそのような方法のためのポイントが何であるかに私を啓発することができます...あなたの
のみBrowsableAttribute
、True
に設定されているすべてを含むAttributeCollection
を与えているのでしょうか?私も...それは.NETの内側に便利ですか
Dim attributes = MyPropertyGrid.BrowsableAttributes
For Each A As Attribute In attributes
Dim Browsable As BrowsableAttribute = CType(A, BrowsableAttribute)
'Then how can I use this ? it's only property is Browsable (True/False)
Next
を理解していない私はもともと、私はプロパティグリッドで選択されたオブジェクトかわからない問題を解決しようとしていたが、私はしたいですオブジェクトのデータを収集します。
動的に読み込まれたDLLに由来するため、オブジェクトの型が何であるかわかりません。私はそれが別のものの派生クラスであることを知っているだけです。しかし、後で保存してロードできるように、プロパティグリッドから取得したオブジェクトのプロパティをバックアップするのは面白いです。
プロパティグリッドにはすでにこれらの値がすべて含まれているので、この種のプロパティはより多くのコードを書くためのショールカットになると思いました。私は、プロパティグリッドが既にそれを行っている間に、コードを検査するためにリフレクションを使用したくありません。
なぜあなたは*使用したいですか?あなたはいくつかの問題(どちらか?)を解決しようとしていますか?そして、このプロパティを使うことができるのか、それとも学問的な質問なのでしょうか? "RandomClass.RandomProperty'は"その答えは、PropertyGridと[msdn](https://msdn.microsoft.com/en-us/library/system.componentmodel.browsableattribute(v = vs.110).aspx)のチュートリアルのどこかにあります。 – Sinatr
@Sinatr私は自分の質問を更新しました。答えはチュートリアルではありません。私はそれらのmsdnページですでに時間を費やしていました。 –
*「*」のプロパティで選択されているオブジェクトがわからず、「XYの問題」(http://meta.stackexchange.com/q/66377/299295)。 **なぜあなたはこれを知る必要がありますか?何をすべきか? 'PropertyGrid.SelectedObject'がオブジェクトで、型を決定するために' is'や 'GetType()'を使うことができます。 – Sinatr