C# .NET 4,如何将任务完成结果传递给另一个方法?
Posted
技术标签:
【中文标题】C# .NET 4,如何将任务完成结果传递给另一个方法?【英文标题】:C# .NET 4, How to pass the task completion result to another method? 【发布时间】:2019-04-13 17:48:43 【问题描述】:我正在使用 C# 将 Google Firebase 集成到 Unity 游戏引擎中。
这是我的代码:
FirebaseApp.DefaultInstance.SetEditorDatabaseUrl(databaseUrl);
var firebaseDatabase = FirebaseDatabase.DefaultInstance;
firebaseDatabase.GetReference("SomePath").GetValueAsync().ContinueWith(task =>
HandleCallback(task.Result.ToDictionary());
);
void HandleCallback(dictionary<string,object> dic)
Debug.Log(dic.Keys.Count);
我需要以某种方式将结果传递给另一个方法来处理完成。我似乎无法让它工作。
这里没有错误,日志只是空的。
但是,如果我在 Task 中调用 Debug.Log(dic.Keys.Count)
,它会起作用。
希望学习并完成这项工作。 谢谢。
【问题讨论】:
Is this relevant? @MatthewWatson 感谢您的链接,虽然我尝试了那里提到的解决方案,但仍然无法触发回调方法。 【参考方案1】:好的,这很奇怪,但我注意到如果我从结果中手动创建字典而不是使用"ToDictionary()"
,回调方法会被触发。
如果您遇到同样的问题,希望它可以节省您的时间。
【讨论】:
以上是关于C# .NET 4,如何将任务完成结果传递给另一个方法?的主要内容,如果未能解决你的问题,请参考以下文章