它是如何開始的?擴展(繼承)實體框架類(不使用部分)
我想添加兩列,不在業務對象集合到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