gpt4 book ai didi

c# - 我该如何修复 : Access to foreach variable in closure resharper warning?

转载 作者:IT王子 更新时间:2023-10-29 04:19:22 25 4
gpt4 key购买 nike

我收到此 ReSharper 警告:在闭包中访问 foreach 变量。使用不同版本的编译器编译时可能会有不同的行为

这就是我正在做的:

@foreach(var item in Model)
{
// Warning underlines "item".
<div>@Html.DisplayBooleanFor(modelItem => item.BooleanField)</div>
}

我的扩展如下:

public static MvcHtmlString DisplayBooleanFor<TModel, TValue>(
this HtmlHelper<TModel> helper,
Expression<Func<TModel, TValue>> expression)
{
bool value;

try
{
var compiled = expression.Compile()(helper.ViewData.Model);
value = Convert.ToBoolean(compiled);
}
catch (Exception)
{
value = false;
}

return MvcHtmlString.Create(value ? "Yes" : "No");
}

请注意,这是按预期工作的,但我该如何避免此警告?
我将不胜感激。

最佳答案

block 作用域变量应该解决警告。

@foreach(var item in Model)
{
var myItem = item;
<div>@Html.DisplayBooleanFor(modelItem => myItem.BooleanField)</div>
}

关于c# - 我该如何修复 : Access to foreach variable in closure resharper warning?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12547104/

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