代码分析提供"Declare event handlers correctly"消息



我刚刚对我的c# winforms项目进行了代码分析。我得到一个警告

CA1009  Declare event handlers correctly    
Declare the second parameter of    'NameEditEx.TextChanged' as an EventArgs,
 or an instance of a type that extends EventArgs, named 'e'.     

所讨论的类位于包含以下内容的用户控件中;

    public delegate void TextChanged();
    [Browsable(true)]
    public event TextChanged OnTextChanged;

有控件的表单在InitializeComponent

中有以下代码
 this.nameEditEx1.OnTextChanged += new NameEditExLib.NameEditEx.TextChanged(this.nameEditEx1_OnTextChanged);

方法

    private void nameEditEx1_OnTextChanged()
    {
        try
        {
            UpdateName();
        }
        catch (Exception ex)
        {
            HandleException.Show(ex);
        }
    }

当我运行它时,代码似乎工作正常。我应该修改代码以去掉警告吗?如果有,我该怎么做?

更新微软链接

委托应该是

public delegate void TextChanged(object sender, EventArgs e);

方法应该是

private void nameEditEx1_OnTextChanged(object sender, EventArgs e)

这样做可以确保与其他类型的事件的一致性,其中第一个参数是sender,第二个参数是EventArgs。

然后可以通过调用 来调用事件处理程序。
OnTextChanged(this, EventArgs.Empty);

相关内容

  • 没有找到相关文章