c# - 无法在 C# 中异步运行方法

标签 c# asynchronous methods mappoint

我有以下代码:

public partial class Main : Form
{
private delegate void LoadMapPointRegion();

private LoadMapPointRegion lmprd;
private MapPoint.Application mpApp;
private MapPoint.Map mpMap;
public Main()
{
    InitializeComponent();

    lmprd = new LoadMapPointRegion(mpControl_LoadRegion);
    lmprd.BeginInvoke(new AsyncCallback(mpControl_RegionLoaded), null);
}

private void mpControl_LoadRegion()
{
    mpControl.NewMap(MapPoint.GeoMapRegion.geoMapNorthAmerica);
    mpMap = mpControl.ActiveMap;
    mpApp = mpMap.Application;
}

private void mpControl_RegionLoaded(IAsyncResult iar)
{
    MessageBox.Show("MapPoint loaded async: " + iar.CompletedSynchronously.ToString());
}
}

这应该在 mpControl_LoadRegion 运行时加载表单并启用与它的交互。 加载 map 点区域需要 5 到 10 秒,这就是我异步进行加载的原因。

但是 iar.CompletedSynchronously 始终为 false。

我错过了什么?

最佳答案

CompletedSynchronously Property指示操作是否同步完成而不是异步完成。这并不意味着操作根本没有完成。

关于c# - 无法在 C# 中异步运行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8275272/

相关文章:

c# - 操作失败: The relationship could not be changed because one or more of the foreign-key properties is non-nullable.

c# - web.config 中的 session 状态

objective-c - 如何在 objective-c 中编写非阻塞方法

Java连续方法调用

c# - 包含集合的自定义配置部分

c# - 在 XAML 中使用单例 - 可能吗?

python - 是python3.6新改 'async for'不兼容enumerate

javascript - Nodejs 代码未按预期执行

java - 反射 - 从 HashMap 获取不同的结果 - LinkedHashMap

java - 如何使用 Java 对象表示以下 json 模式?