silverlight 动态类创建和使用

用于创建实现 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);
}




posted @ 2012-01-16 15:59  luosm  阅读(432)  评论(0编辑  收藏  举报