3

.NET PropertyDescriptorのPropertyTypeとComponentTypeの違いは何ですか?

ドキュメントは実際には説明していませんでした

PropertyType派生クラスでオーバーライドされると、プロパティのタイプを取得します。

ComponentType派生クラスでオーバーライドされると、このプロパティがバインドされているコンポーネントのタイプを取得します。

4

1 に答える 1

8

通常のプロパティに関して:

class Foo
{
    public int Bar { get; set; }
}

Foo.Barここでviaを見るとTypeDescriptor、component-typeはFoo;です。プロパティタイプはInt32です。基本的に、ComponentTypeDeclaringTypeプロパティのです(リフレクションの観点から)。したがって、カスタムPropertyDescriptor実装を作成している場合、PropertyTypeデータのタイプであり、はターゲットインスタンスComponentTypeの予想されるタイプです。

于 2012-11-26T14:17:13.013 に答える