将 IEnumerable包装起来带有 ObservableCollection

发布于 2024-10-04 15:12:29 字数 500 浏览 1 评论 0原文

从我的存储库中,我总是得到一个 IEnumerable

在 Ctor 或 ViewModel 的方法中,我想将我的实体包装到 ObservableCollection 中,如下所示:

private ObservableCollection<CustomerViewModel> customerViewModels;

public BillingViewModel(IService service)
{
   ...
   IEnumerable<Customer> customers = service.GetCustomers();

   // that will not work because of a different type
   customerViewModels = new ObservableCollection(customers); 

}

您会做什么?

From my Repository I get always an IEnumerable<T>.

In the Ctor or a method of my ViewModel I want to wrap my entities into an ObservableCollection<T> like this:

private ObservableCollection<CustomerViewModel> customerViewModels;

public BillingViewModel(IService service)
{
   ...
   IEnumerable<Customer> customers = service.GetCustomers();

   // that will not work because of a different type
   customerViewModels = new ObservableCollection(customers); 

}

What would you do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小姐丶请自重 2024-10-11 15:12:29

假设您有某种从 Customer 到 CustomerViewModel 的转换:

customerViewModels = new ObservableCollection<CustomerViewModel>
    (customers.Select(c => ConvertToViewModel(c)));

Assuming you have some sort of conversion from Customer to CustomerViewModel:

customerViewModels = new ObservableCollection<CustomerViewModel>
    (customers.Select(c => ConvertToViewModel(c)));
微凉徒眸意 2024-10-11 15:12:29

如何将 Customer 转换为 CustomerViewModel?也许你只需要这样的东西:

customerViewModels = new ObservableCollection<CustomerViewModel>(
    from c in customers
    select new CustomerViewModel(c)
);

How do you convert a Customer to a CustomerViewModel? Maybe you just need something like this:

customerViewModels = new ObservableCollection<CustomerViewModel>(
    from c in customers
    select new CustomerViewModel(c)
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文