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

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

于 2012-07-26T14:44:21.180 回答