繁体   English   中英

在静态函数中使用委托

[英]using delegate inside a static function

我已经在类中定义了一个委托字段,并且正在直接在静态函数(不创建对象)中初始化该委托字段。 它不起作用,因为没有类的对象,并且委托字段不是静态的。 但这有效。 谁能解释一下它的工作原理。 我在下面复制了一些代码以供参考:

class Test
{

  delegate void CustomDel(String s);

  static void main()
  {
   CustomDel del1, del2, del3; //it shouldn't work, but is working.
  }
}

这不符合您的想法:

delegate void CustomDel(String s);

它不是字段,而是委托类型定义。 可以这样想:

private class CustomDel : Delegate
{
    // ...
}

上面的代码不会编译,因为您不能像这样声明委托,但这实际上是在CustomDel进行的事情: CustomDel是一种类型,只是一个特殊的类型。

现在,您的代码应该更有意义:

CustomDel del1, del2, del3;

这仅声明三个CustomDel类型的局部变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM