用于创建实现 System.ComponentModel.INotifyPropertyChanged 接口的动态类型,并添加各个 public 属性的定义
用于创建动态类型,并添加各个 public 属性的定义
使用
为动态类添加属性
#region 创建所有列
foreach(CommonTableColumn coColumn in columnDic.Values )
{
dyClass.AppendPublicProperty(coColumn.ColumnName, typeof(object));
//dyClass.AppendPublicProperty(coColumn.ColumnName, typeof(object));
}
#endregion
public List<object> dySource = new List<object>();//保存数据集
DynamicTypeBuilder dyClass = new DynamicTypeBuilder("dy");//创建动态类
Type dyType = dyClass.CreateDynamicType();
foreach (JsonValue v in resultArr)
{
var listOfCustom = Activator.CreateInstance(dyType);
ICollection<string> col = (((System.Json.JsonObject)(v))).Keys;
foreach (string columnName in col)
{
PropertyInfo property =dyType.GetProperty(columnName);
property.SetValue(listOfCustom, v[columnName], null);
}
dySource.Add(listOfCustom);
}