.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
の予想されるタイプです。