构造函数需要异步操作,工厂模式创建异步构造函数

多应用于客户端。

if (_instance == null)
{
    _instance = await MyAsyncClass.CreateAsync();
}
_instance.Test();
class MyAsyncClass
{
    private MyAsyncClass() { }
    private async Task<MyAsyncClass> InitializeAsync()
    {
        await Task.Delay(TimeSpan.FromSeconds(2));
        return this;
    }
    public static Task<MyAsyncClass> CreateAsync()
    {
        var result = new MyAsyncClass();
        return result.InitializeAsync();
    }

    public void Test()
    {
        Console.WriteLine("需要构造初始化完成才能操作");
    }
}
posted @ 2020-09-03 23:31  wesson2019  阅读(162)  评论(0编辑  收藏  举报