gpt4 book ai didi

c# - Kotlin "apply"在 C# 中等效

转载 作者:行者123 更新时间:2023-12-02 12:05:49 25 4
gpt4 key购买 nike

使用 Kotlin 时,可以使用 apply 来设置现有对象的多个属性并保持代码更简洁,例如,而不是:

person.firstName = "John"
person.lastName = "Doe"
person.phone = "123 456 789"

我们可以用:
person.apply {
firstName = "John"
lastName = "Doe"
phone = "123 456 789"
}

是否有等效于 C# 中的 apply

最接近的是 using 但据我所知,它不能以这种方式使用。

编辑:我知道 C# 中的对象初始值设定项,但我实际上正在寻找可以为现有对象(例如从数据库中获取的对象)完成的事情。

最佳答案

试试这个.... https://dev.to/amay077/kotlins-scope-functions-in-c-pbn

为方便起见,下面粘贴了代码,但上面的链接是源...

static class ObjectExtensions 
{
// Kotlin: fun <T, R> T.let(block: (T) -> R): R
public static R Let<T, R>(this T self, Func<T, R> block)
{
return block(self);
}

// Kotlin: fun <T> T.also(block: (T) -> Unit): T
public static T Also<T>(this T self, Action<T> block)
{
block(self);
return self;
}
}

可以这样使用......
var model = new MyModel().Also(m => {
m.Initialize();
m.Load(path);
});

关于c# - Kotlin "apply"在 C# 中等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60686675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com