gpt4 book ai didi

bindable-linq - 可绑定(bind) LINQ 与连续 LINQ

转载 作者:行者123 更新时间:2023-12-03 11:37:14 40 4
gpt4 key购买 nike

可绑定(bind) LINQ 和连续 LINQ 之间的主要区别是什么?

•可绑定(bind)LINQ:www.codeplex.com/bindablelinq

• 连续 LINQ:www.codeplex.com/clinq

根据提供的反馈,又添加了一个项目:

•Obtics:obtics.codeplex.com

最佳答案

它们是这两个包都试图解决的两个问题:缺少 CollectionChanged 事件和动态结果集。还有一个额外的问题可绑定(bind)解决,额外的自动事件触发器。

第一个问题这两个软件包旨在解决的是:

Objects returned by a LINQ query do not provide CollectionChanged events.



连续 LINQ 自动对所有查询执行此操作,无需更改:
from item in theSource select item ;

可绑定(bind) LINQ 当您将 .asBindable 添加到查询源对象时执行此操作:
from item in theSource.AsBindable() select item ;

第二题这两个软件包旨在解决的是:

Result sets returned from a LINQ Query are static.



通常,当您执行 LINQ 查询时,您的结果集不会更改,直到您执行新查询。使用这两个包,只要源更新,您的结果集就会更新。 (对性能不利,对实时更新有利)

示例
var theSource = new ContinuousCollection<Customer>();
var theResultSet = from item in theSource where item.Age > 25 select item;
//theResultSet.Count would equal 0.

因为您使用可绑定(bind)或连续 LINQ,您可以修改源,结果集将自动包含新项目。
theSource.Add(new Customer("Bob", "Barker" , 35, Gender.Male)); //Age == 35
//theResultSet.Count would now equal 1.

附加问题 可绑定(bind)的 LINQ 提供:(直接从他们自己的页面引用)
contactsListBox.ItemsSource = from c in customers
where c.Name.StartsWith(textBox1.Text)
select c;

Bindable LINQ will detect that the query relies on the Text property of the TextBox object, textBox1. Since the TextBox is a WPF control, Bindable LINQ knows to subscribe to the TextChanged event on the control.

The end result is that as the user types, the items in the query are re-evaluated and the changes appear on screen. No additional code is needed to handle events.

关于bindable-linq - 可绑定(bind) LINQ 与连续 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/167622/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com