19

私は Resharper 5.1 コード分析を何度も使用しています。

「匿名デリゲートによるイベントのサブスクリプション解除」

#Part of Code  

if (((bool)e.NewValue))
{
    listView.PreviewTextInput += (o,args) =>
        listView_PreviewTextInput(o,args,listView);
}
else
{
    listView.PreviewTextInput -= (o, args) => 
        listView_PreviewTextInput(o, args, listView);
}

このことをどのように修正または最適化できますか

4

2 に答える 2

33

ラムバを変数に抽出できます。

EventHandler func = (sender, e) =>
    listView_PreviewTextInput(sender, e, listView);

if (((bool)e.NewValue))
{
    listView.PreviewTextInput += func;
}
else
{
    listView.PreviewTextInput -= func;
}
于 2012-01-10T12:14:36.313 に答える