質問

私は現在、実装が含まれているエンティティがITypedListを実装すると、ICustomTypeDescriptorというデータ収集を使用して、私のWPFグリッドを移入しています。すべてのプロパティは、実行時に決定されます。

私は、パフォーマンスアップの助け速度にハイパーディスクリプタに実装したいんだけど、そのページ上の例では、より多くの既知のタイプではなく、実行時のプロパティを参照します。

私はそれを見てする必要がどのような性質HyperTypeDescriptorを伝えるために、カスタムGetProperties()方法または類似を実装する必要があるが、それは設定されるべき場所を確認していないだろうと思うだろう。私はそれは難しいことではありません理解が、私は明らかに何かが欠けています。

感謝任意のヒント!

役に立ちましたか?

解決

それはHyperDescriptorなどを使用して生成されたコードをキャッシュとして

ILGenerator実装は、実際にコンパイル時の特性に特異的です。例えば、彼らはのすでにICustomDescriptors作業の場合 - あなたはPropertyDescriptorを使用している場合は、のすでにの非常に異なるパフォーマンスプロファイルでありますEM>は、生の反射よりも大幅に速くなります。

これはのかもしれないのは、それがさらに最適化することが可能となるが、私は、特定の実装について詳しく知っておく必要がありますと思います。しかし、それはそう最初にこのメンバーアクセスが実際にボトルネックであることを自分自身を満足させる、そしてあなたがページングまたは最初の「仮想モード」のようなものを簡単に行うことができなかったことを、非自明な仕事になります。

(明確化:私はこの分野を知っているので、私は、ハイパーディスクリプタの著者だ)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top