.NET PropertyDescriptorのPropertyTypeとComponentTypeの違いは何ですか?
ドキュメントは実際には説明していませんでした
PropertyType派生クラスでオーバーライドされると、プロパティのタイプを取得します。
ComponentType派生クラスでオーバーライドされると、このプロパティがバインドされているコンポーネントのタイプを取得します。
.NET PropertyDescriptorのPropertyTypeとComponentTypeの違いは何ですか?
ドキュメントは実際には説明していませんでした
PropertyType派生クラスでオーバーライドされると、プロパティのタイプを取得します。
ComponentType派生クラスでオーバーライドされると、このプロパティがバインドされているコンポーネントのタイプを取得します。
通常のプロパティに関して:
class Foo
{
public int Bar { get; set; }
}
Foo.Barここでviaを見るとTypeDescriptor、component-typeはFoo;です。プロパティタイプはInt32です。基本的に、ComponentTypeはDeclaringTypeプロパティのです(リフレクションの観点から)。したがって、カスタムPropertyDescriptor実装を作成している場合、PropertyTypeはデータのタイプであり、はターゲットインスタンスComponentTypeの予想されるタイプです。