gpt4 book ai didi

c# - ObservableCollection 与异步 Web 服务调用的普通列表

转载 作者:行者123 更新时间:2023-12-02 19:36:35 24 4
gpt4 key购买 nike

全部,

我刚刚实现了一个 Webservices 方法,该方法需要将对象列表作为参数。在客户端,我尝试将其传递给对象列表,但编译器提示说它需要一个 ObservableCollection。这是代码:

服务器端

[WebMethod]
public void SaveMarks(List<CompletedMark> marks)
{
// TODO: IMPLEMENT SAVING THE MARKS
}

客户端

private void SaveMarks()
{
ObservableCollection<CompletedMark> marks = new ObservableCollection<CompletedMark>();
//List<CompletedMark> marks = new List<CompletedMark>();

foreach (SelectedField elem in SelectedFields)
{
marks.Add(new CompletedMark
{
FormId = curFormId,
QuestionId = elem.Qid,
XPos = Canvas.GetLeft(elem.assocGrid),
YPos = Canvas.GetTop(elem.assocGrid),
Width = elem.assocGrid.Width,
Height = elem.assocGrid.Height
});
}
proxy.SaveMarksAsync(marks);
}

我已经注释掉了最初指定列表的行。为什么我需要在这里使用 ObservableCollection,即使我在服务器上将其声明为 List 类型?我的服务器端声明不正确吗?

最佳答案

Silverlight 中序列化的默认类型集合是 ObservableCollection,主要是为了便于将其用于数据绑定(bind)目的。 Ehsan 的回答是正确的;您可以在“配置服务引用”对话框中更改默认类型。

或者,您可以将其更改为序列化为通用列表(如果您有多种使用者,或者如果这更多的是数据传输对象而不是直接绑定(bind)到的对象,则可能更有用)。

关于c# - ObservableCollection 与异步 Web 服务调用的普通列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6359659/

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