Bu ReSharper uyarısını alıyorum: Kapatma değişkenine erişim kapatılıyor. Derleyici'un farklı sürümleriyle derlendiğinde farklı davranışlar olabilir. beklendiği gibi bu çalışmaktadırNasıl giderilir: Kapatma yeniden paylaşım uyarısında foreach değişkenine erişim?
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");
}
Not ama nasıl bu uyarıyı önleyebilirsiniz şu şekildedir:
@foreach(var item in Model)
{
// Warning underlines "item".
<div>@Html.DisplayBooleanFor(modelItem => item.BooleanField)</div>
}
Benim uzantısıdır:
Bu benim yaptığım nedir?
Sağlanan herhangi bir yardım için teşekkür ederiz.
Neden 'İfade kullandığınız <>' onunla ne hepsini çağrı '.Compile()' ne olur? Neden Func <> 'yi kullanmıyorsunuz? – hvd
Neden sadece bir bool yerine bir İfadede geçiyorsunuz? –
@ChaosPandion: Benim görüşüme göre kullanmam gerekmediği için benim için faydalıdır. – Esteban