C#初始化對象我有一個類的構造函數的東西,如:與並行任務或其他方式
AuthenticationService = new AuthenticationService();
然而這個「變量初始化」可能需要幾秒鐘,有時父類仍可能不需要它。 如何使用並行編程來初始化它並仍然讓「父」類繼續,只有當他需要使用它並且對象AuthenticationService尚未準備好時才能等待。
我該怎麼做?
我的解決方案(感謝喬恩斯基特)
private Task<AuthenticationService> authTask;
public AuthenticationService AuthenticationService
{
get
{
return authTask.Result;
}
}
public MyConstructor(){
authTask = Task.Factory.StartNew(() => new AuthenticationService());
}
看起來你可以使用Lazy,它將在調用它們時計算值。 –
maxlego