Silverlight 等待异步调用

发布于 2024-12-18 15:33:28 字数 405 浏览 0 评论 0原文

我有一个 silverlight 应用程序启动后,它需要读取 Web 服务返回的配置文件。

因此,在我的主页中,我想要这样的内容:

public MainPage()
{
    InitializeComponent();
    Config cfg = new Config();
    XDocument config = cfg.getConfig();
    //doing stuff with config here
    ...
}

config 的构造函数调用 readConfigAsnc,并且我有一个返回 xdocument 的 readcompleted 方法。我希望在 MainPage() 中继续执行之前调用 readConfigCompleted。这样做的最佳方法是什么?

I have a silverlight application that went it starts up, it needs to read a config file that a webservice returns.

So, in my main page, I want something like this:

public MainPage()
{
    InitializeComponent();
    Config cfg = new Config();
    XDocument config = cfg.getConfig();
    //doing stuff with config here
    ...
}

The constructor for config calls readConfigAsnc and I have a method for the readcompleted that returns the xdocument. I want the readConfigCompleted called before execution continues in MainPage(). What is the best way to go about doing this?

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

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

发布评论

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

评论(2

苏别ゝ 2024-12-25 15:33:28

最好的方法是将其分为两种方法。传递一个函数作为 getConfig 的参数,如下所示:

cfg.getConfig( fcnToCall );

稍后,在您的代码中,

void fcnToCall( XDocument config )
{
    //Do stuff with config here...
}

如果您想保留局部变量,另一个选择是使用 lambda 表达式:

Config cfg = new Config();
cfg.Callback += new Action<XDocument> action = s => 
        {
            XDocument cfg = s as XDocument;
            //Do stuff with config here...
        };
cfg.getConfig();

The best way is to separate this out into two methods. Pass a function as a parameter of the getConfig, so like this:

cfg.getConfig( fcnToCall );

Later, in your code,

void fcnToCall( XDocument config )
{
    //Do stuff with config here...
}

Another option would be to use lambda expression if you want to retain your local variables:

Config cfg = new Config();
cfg.Callback += new Action<XDocument> action = s => 
        {
            XDocument cfg = s as XDocument;
            //Do stuff with config here...
        };
cfg.getConfig();
妄断弥空 2024-12-25 15:33:28

为什么不把这些方法分开呢?不要让所有这些都发生在 MainPage() 中,而是让“Do Stuff”发生在 GetConfigCompleted 事件中。

Why not separate out the methods? Instead of having all of this happen in the MainPage(), have the 'Do Stuff' happen in the GetConfigCompleted event.

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