我希望能够做一些类似 apply()
的事情来自 Dart 中的 Kotlin。例如在 Kotlin
var userDetails: UserDetails = userRepo.getUser().apply{
//here 'this' is UserDetails so all the further calls are made in that context
name = "Name"
email = "email@test.com"
callSomeInnerMethodOfUserDetails()
};
在 Dart 语言中有一些类似的方法或方法吗?
我想知道标准库或语言本身是否有一些东西,而不是我自己的通用闭包扩展用于此目的?
谢谢。
最佳答案
虽然没有确切的类比,但我偶然发现了一个名为 Cascade notation 的特殊运算符。做类似的工作。
给定的示例将类似于:
UserDetails userDetails = userRepo.getUser()
..name = 'Name'
..email = 'email@test.com'
..callSomeInnerMethodOfUserDetails();
你也可以做一个嵌套的级联
UserDetails otherUserDetails = userRepo.getUser()
..name = (userRepo.getUser()
..firstName= "Other Name"
..assignFirstNameAndSurnameToNameField()).name
..email = "otherEmail"
..callSomeInnerMethodOfUserDetails();
希望能帮助到你。
关于android - Kotlin `apply()` Dart 中的方法模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61751961/