我正在努力將LINQ語句轉換爲具有自定義類的ObservableCollection,我很滿意LINQ語句和類定義,問題(I認爲)是關於我如何在我的匿名類型和類本身之間實現IQueryable接口。LINQ匿名類型爲ObservableCollection自定義類
public class CatSummary : INotifyPropertyChanged
{
private string _catName;
public string CatName
{
get { return _catName; }
set { if (_catName != value) { _catName = value; NotifyPropertyChanged("CatName"); } }
}
private string _catAmount;
public string CatAmount
{
get { return _catAmount; }
set { if (_catAmount != value) { _catAmount = value; NotifyPropertyChanged("CatAmount"); } }
}
public event PropertyChangedEventHandler PropertyChanged;
// Used to notify Silverlight that a property has changed.
private void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
//MessageBox.Show("NotifyPropertyChanged: " + propertyName);
}
}
}
private void GetCategoryAmounts()
{
var myOC = new ObservableCollection<CatSummary>();
var myQuery = BoughtItemDB.BoughtItems
.GroupBy(item => item.ItemCategory)
.Select(g => new
{
_catName = g.Key,
_catAmount = g.Sum(x => x.ItemAmount)
});
foreach (var item in myQuery) myOC.Add(item);
}
我得到的錯誤是在最後一行是
"Argument 1: cannot convert from 'AnonymousType#1' to 'CatSummary'"
我是比較新的C#和在正確的方向需要指出 - 如果任何人有任何這類教程這也會有所幫助。
做的工作就好了,並逐步執行代碼,我可以明白爲什麼這會工作。非常感謝。 – MAO 2012-04-16 22:11:11
我現在正在努力與WPF綁定,我如何將XAML對象綁定到我的自定義類?我遇到的錯誤是「BindingExpression path error」...「property not found on」? – MAO 2012-04-16 22:37:34