【问题标题】:Do event creation and reponse methods have restrictions or standards in C#?事件创建和响应方法在 C# 中是否有限制或标准?
【发布时间】:2015-09-19 10:32:49
【问题描述】:

我知道如何在 C# 中使用委托和事件。但是,有几件事我不知道。

如果我有条件方法和响应方法,这些方法的参数是否有限制?

这些方法是否必须具有某些类型的参数或某些数量的参数?

对于我可以在方法名称前面放置什么类型的关键字有规定吗?

是否有参数类型、参数数量以及与方法关联的关键字的标准?

我知道条件方法的标准关键字是protected virtual void。但是,我不知道响应方法的标准关键字是什么。

【问题讨论】:

  • 条件方法?你是说msdn.microsoft.com/en-us/library/… 吗?
  • 不,当涉及到 C 语言中的事件时,您有一种方法可以设置运行第二种方法的条件。这就是为什么我将第一种方法称为条件方法。
  • 我认为我从未听说过以这种方式解释的事件。当对象调用已作为对象上的事件公开的委托时,将触发事件。我认为您正在创建自己的术语,这有点令人困惑,可能是您的问题没有得到回答的原因。

标签: c# events parameters delegates keyword


【解决方案1】:

我认为你指的是

protected void OnClicked(EventArgs e)
{
....

我从未听说过这被称为条件方法。范围受保护的虚拟空白是约定俗成的。我相信这个想法是在内部继承另一个暴露事件的类的对象应该覆盖这些方法而不是使用事件。此外,如果派生类需要调用事件,它应该能够通过调用 OnClicked 方法来实现。

消费事件的代码没有约定,如果这个方法不需要在外部调用,它可以是私有的......

例如

...
myObject.Clicked += myObject_Clicked;  // Consume the event
...

private void myObject_Clicked(object sender, EventArgs e)
{
// hand onclicked
}

更多指导....

https://msdn.microsoft.com/en-us/library/awbftdfh.aspx

【讨论】:

    猜你喜欢
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 2021-08-24
    • 1970-01-01
    相关资源
    最近更新 更多