public AsyncTextInputBufferResult(Func<string> initializationFunc, CancellationToken cancellationToken, TextInputBuffer defaultBuffer = null)
{
if (defaultBuffer == null)
{
defaultBuffer = new TextInputBuffer("Loading...");
}
Buffer = defaultBuffer;
Task.Run(() =>
{
string result = initializationFunc();
Buffer.Dispose();
Buffer = new TextInputBuffer(result);
}, cancellationToken);
}