IListSource类型的AttributeProvider的作用



我有一个包含以下属性的用户控件:

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

此属性如何影响属性(除了设计器中漂亮的组合框)
它是否强制属性只接收实现IListSource或IEnumerable的值
你能给我找一个BCL的代码片段来解释属性效应吗?


来源:
AttributeProviderAttribute类
IListSource接口
如何:在Windows窗体控件中应用属性

该属性与任何属性一样,对属性本身没有任何影响。它仅由其他组件用于获取有关属性的元数据。文档中指出,某些组件(如数据绑定)需要知道属性的类型。通常,这些数据是从属性属性和属性类型属性收集的,但在这里这是不可能的,因为DataSource属性有一些可以为其设置的选项,而这些类型除了从对象继承之外没有任何共同点,所以此属性告诉任何需要知道该类型应该是IListSource的人。我希望这一点更加明确。

最新更新