我正在使用 silverlight o-data 服务与 CRM 2011 进行交互,当我尝试通过单击 CRM 表单的保存按钮来保存数据时遇到了一些问题。
当我单击保存按钮时,我调用OnSave
了将保存我的数据的 Silverlight 函数 ( ),并且如您所知,在 Silverlight OData 服务上保存是异步的。我必须创建两个函数,第一个将 beginSave,第二个将 endSave。
有没有办法在同一功能上完成保存数据?
我正在使用 silverlight o-data 服务与 CRM 2011 进行交互,当我尝试通过单击 CRM 表单的保存按钮来保存数据时遇到了一些问题。
当我单击保存按钮时,我调用OnSave
了将保存我的数据的 Silverlight 函数 ( ),并且如您所知,在 Silverlight OData 服务上保存是异步的。我必须创建两个函数,第一个将 beginSave,第二个将 endSave。
有没有办法在同一功能上完成保存数据?
好吧,您可以使用匿名方法,以便只有一个命名函数。它通常会为您节省一些打字时间,并使代码更短且更易于阅读,但从技术上讲仍然不止一个功能。
如果您使用的是 C# 5.0,您可以使用新的 async/await 功能,这样您将只编写一个函数,并且您不会显式创建任何其他函数,即使在幕后最终会生成一个或多个附加函数创建的。这是一些非常有趣的东西,它极大地简化了像 Silverlight 这样一切都是异步的范例中的编程。
您可以在技术上(可能取决于所需的签名)创建一个既是 begin 方法又是 end 方法的函数,并尝试确定它需要在方法内部执行哪些操作。这将非常、非常丑陋且难以使用,但从技术上讲只需要一种方法。请不要这样做。