【发布时间】:2022-01-23 12:50:31
【问题描述】:
我来自 C#,我(或多或少)了解事件的逻辑及其工作原理。现在,我必须将事件范式(带有数据传递)从 C# 转换为 Dart,但我不明白它是如何在 Dart 上工作的。谁能耐心给我解释一下?谢谢
编辑:这些是我必须翻译的代码片段
Class Engine.cs
public class Engine {
[...]
public event EventHandler<EngineComputationEventArgs> ComputationCompleted;
protected virtual void OnComputationCompleted(Result result) {
var evt = ComputationCompleted;
if (evt != null) {
evt(this, new EngineComputationEventArgs(result));
}
}
}
Class Example.cs
[...]
engine.ComputationCompleted += (sender, e) => {
Console.WriteLine("PPE {0}", e.Result.Ppe);
};
[...]
和EngineComputationEventArgs.cs
public class EngineComputationEventArgs : EventArgs {
public EngineComputationEventArgs(Result result) {
Result = result;
}
public Result Result { get; private set; }
}
【问题讨论】:
-
您能否提供一些伪代码来说明您的问题是什么?我真的不明白你在找什么。我们是在谈论对 Dart 中的
Future和Stream的一些描述吗? -
我用我必须翻译的代码编辑了帖子,但要简短的是,我想了解 Future 和 Stream 如何在 Dart 中工作(我认为我需要使用其中一个翻译)
标签: dart events event-handling