Dart 语言中的闭包经常使用,因为它们非常强大。
我想问关于闭包可用性的问题。
假设这个源代码:
class SomeWork<T> {
Function _test;
SomeWork(bool test(T a, T b)) {
_test = test;
}
}
如果我将此代码重写为此代码片段,则该函数(作为参数)将是无类型的(或者更确切地说将具有不同的类型)。
class SomeWork<T> {
final Function test;
SomeWork(this.test) {
}
}
问题:
- 计划在 Dart 语言中添加功能来声明闭包(不使用 typedef,“on the fly”)作为类型化函数?
就像这个代码示例:
class SomeWork<T> {
final Function<bool, T, T> test;
SomeWork(this.test) {
}
}
附言
为了澄清起见,我想(一段时间后)用 C# 语言添加这个示例,因为据我了解,Dart 语言中的给定示例并不完全正确。
class SomeWork<T> {
sealed Func<T, T, bool> m_test;
SomeWork(Func<T, T, bool> test)
{
m_test = test;
}
}
即我询问了使用类似于 C#Func<>
和Action<>
.