我正在创建一个报告组件,该组件接受IEnumerable输入,执行一些转换和聚合,并返回一个具有动态列数的新IEnumerable。我之所以使用ADO.NET来实现这一点,是因为可以很容易地创建一个包含适当列的DataTable。
转换后的IEnumerable被发送到一个报告可视化组件,该组件使用存储在属性中的信息来很好地格式化结果。一旦应用了属性,就不需要能够删除或更改属性。
我的问题是:是否可以将Attribute与DataColumn关联,以便ADO.NET DataView发出的PropertyDescriptor包含这些属性?
后续问题:如果ADO.NET不能做到这一点,有没有其他库可以用来实现这一点?
编辑:为了清晰起见,我希望能够这样做:
DataTable dt = new DataTable();
DataColumn example = dt.Columns.Add("Test",typeof(double));
//This is the functionality I am looking for ideally
example.AddAttribute(new CustomAttribute("Hello"));
public class CustomAttribute : Attribute
{
}发布于 2011-07-07 04:22:56
请参见DataColumns上的ExtendedProperties属性。这允许您向数据列添加自定义数据。但是,您必须自己编写使用此自定义数据的代码-格式化(或您希望将数据用于什么用途)不是自动的。
发布于 2011-07-12 05:54:26
回答我自己的问题:不可能将属性注入DataColumn并使它们出现在DataView的ITypedList实现发出的PropertyDescriptor中
https://stackoverflow.com/questions/6601570
复制相似问题