gpt4 book ai didi

c# - 我可以在扩展方法中设置 decimal 变量的值吗?

转载 作者:行者123 更新时间:2023-11-30 15:23:12 24 4
gpt4 key购买 nike

<分区>

我已经创建了一个 void 扩展方法,它可以与 decimal 数据类型一起使用。我希望能够在方法范围内修改 this 参数变量。这是我的扩展方法的代码:

public static void SetAndConvertIfHasValue(this decimal assignTo, double? valueToAssign)
{
if (valueToAssign.HasValue)
assignTo = (decimal)valueToAssign.Value;
else
assignTo = 0m;
}

但是,当我调用它时:

data.MyDecimalToSet.SetAndConvertIfHasValue(nullableDouble);

data.MyDecimalToSet 未设置为 nullableDouble 中的值(如果有的话)。

在调试中,如果我进入扩展方法,assignTo 会更改为正确的值,此更改不会冒泡到 data.MyDecimalToSet

在这一点上,我决定使用标准方法而不是扩展方法来解决这个问题,但是我很好奇为什么这不起作用?是否有解决办法,或者根本不可能?

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