首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

delegate只能在类定义里头声明吗? 不能再函数里面声明

2014-01-05 
delegate只能在类定义里面声明吗? 不能再函数里面声明?下面的几行小程序编译有问题:class A{delegate void

delegate只能在类定义里面声明吗? 不能再函数里面声明?
下面的几行小程序编译有问题:


    class A
    {
        delegate void Func();
        public void f()
        {
            delegate void Func2();
            Console.WriteLine("abc");
        }
    }

C# 2012编译,第二个delegate语句出了问题,
error CS1513: } expected
error CS1519: Invalid token '(' in class, struct, or interface member declaration
注释掉这行就没有事。这到底是为什么呢?
[解决办法]
delegate void Func2(); 这个不能定义在方法里面
只有定义在 类 或 类外面
[解决办法]
方法内部不能有类的定义,同样方法的内部也不能有委托的声明。
[解决办法]
想不出有什么理由要在方法里面定义委托啊,
如果是这个类专用的,就放在类内部,
如果要与其他类共用,那就与类一样单独放在一个文件中.
[解决办法]
“不为什么”可以吧?

你在函数里边声明一个class,又何必呢?

热点排行