它是如何开始的?扩展(继承)实体框架类(不使用部分)
我想添加两列,不在业务对象集合到radGridView。特别是NewUrl和NewIdOnFilehost。 :)
那么我试图做什么?
我要把它放到网格
radGridViewReuploadStatus.ItemsSource = FileHostings.Filesonic.getdAllDeletedLinks();
然后我加入他们的新列
<telerik:GridViewColumn Header="New F.H.Id" UniqueName="NewFilehostId" Width="*"></telerik:GridViewColumn>
<telerik:GridViewColumn Header="New URL" UniqueName="NewUrl" Width="*"></telerik:GridViewColumn>
那么,什么是问题呢?
radGridViewReuploadStatus.Rows不存在。 我不知道他们为什么没有将它添加到wpf radGridView,它是在它的aspx版本。我能够使用getChildsOfType获取行,但这显然不是理想的方式。
接下来我做了什么?
class dlExtended : DownloadLink {
public string NewUrl { get; set; }
public string NewIdOnFilehost { get; set; }
}
最后的问题 - 什么基本我不明白
如何使dlExtended从DownloadLink? (我知道这是错误的名称惯例,它只是例如:)) 我如何使dlExtended从收集的DownloadLink名单?使用foreach必须有更好的方法!
现在我可能做错了
所以现在我应该根据一个传入DownloadLink通过做构造并设置dlExneded的每个属性?
嗯,也许它是可行的反射像这样
public DownloadLinkExtended(DownloadLink origDl){
PropertyInfo[] myObjectProperties = origDl.GetType().GetProperties(); //BindingFlags.Public | BindingFlags.NonPublic
foreach (PropertyInfo pi in myObjectProperties)
{
if (pi.GetValue(origDl, null) != null)
{
pi.SetValue(this, pi.GetValue(origDl, null), null);
}
}
}
嗯,这是愚蠢的。 那么我没有得到关于扩展类和添加新的属性?
我知道,EF4类是部分的,我可以添加属性给他们只是通过部分类,但我想这些只为网格,而不是其他地方。
的一个可能的解决方案配方: 如何继承类,所以与父类的参数实例构造函数设置的所有继承属性? – evlo 2011-06-13 20:57:28