1

このプロパティを含むユーザー コントロールがあります。

[AttributeProvider(typeof(IListSource))]
public object DataSource
{
  get { return _grid.DataSource; }
  set { _grid.DataSource = value; }
}

この属性はプロパティにどのように影響しますか? (デザイナーのきれいなコンボ ボックスに加えて)。
IListSource または IEnumerable のいずれかを実装する値のみを受け取るようにプロパティを強制していますか?
属性効果を説明する BCL のコード スニペットを見つけてもらえますか?


ソース:
AttributeProviderAttribute クラス
IListSource インターフェイス
方法: Windows フォーム コントロールに属性を適用する

4

1 に答える 1

0

This attribute, as any attribute, doesn't have any effect on the attribute itself. It is only used by other components to get metadata about the property. What the documentation says is that certain components, like data binding, needs to know the type of the property. Usually this data is collected from the property attributes and the property type attributes, but here it is not possible since the DataSource property has some options what you can set for it and those types don't have anything in common except from they inherit from object, so this property tells anyone who needs to know that the type should be an IListSource. I hope this is more clear.

于 2012-07-26T14:44:21.180 に答える