C#中是否有这样的语法??哈哈,是不是异想天开啊?
C#的类可以有内隐类(即可以在类中定义类),但是在方法中能否再定义一个方法呢?          
       比如                        
    public         void         test() 
    {          
                   public         void         test1(int   a,bool   cancel) 
                   {                                          
                   }   
                   if(aa> 0) 
                   { 
                         test1(aa,true); 
                   } 
                   else 
                            test1(aa,false);   
       }                        
       能否能象上面这样呢在test方法中再声明个方法test1呢?javascript是可以这样作的。   
 我的目的:因为我在写一个方法的时候在多处的代码都是重复的,所以需要提取出一个方法test1来供test的多处调用,但是test1要共享一些test中的内部变量。   
 大家来讨论下,是否有其他变通的方法。
------解决方案--------------------如果是web的话,输出是一段脚本能达到目的不
------解决方案--------------------这是啥问题呀,,
------解决方案--------------------可以呀,不过if{...}要放到一个方法里
------解决方案--------------------把Test1的public去掉看看
------解决方案--------------------方法之间调用: 
 把方法test1(int a,bool cancel) 定义到test()外面,然后在方法test()中调用test1好了
------解决方案--------------------楼主可能是受到了javascript的影响了吧?
------解决方案--------------------C#2.0 多了一个匿名方法(Anonymous Methods),但绝对不是楼主这个东东   
 大多数编程语言只支持方法的调用,不支持方法的嵌套
------解决方案--------------------C#中方法又不是对象,不象javascript
------解决方案--------------------在调用的时候判断一下.....
------解决方案--------------------public   void   test1(int a,bool cancel) 
       {                
       }     
  public   void   test() 
  {      
       if(aa> 0) 
       { 
         test1(aa,true); 
       } 
       else 
          test1(aa,false);   
   }   
 这样子不是最简单吗?
------解决方案--------------------.net是面向对象的,不是面向方法的,需求首先考虑在对象上的实现而不是方法。“8、9个变量”?就算1w个变量,你也可以写进一个对象里边去,没有什么不方便的。除非你不打算设计对象。
------解决方案--------------------Mark!
------解决方案--------------------up
------解决方案--------------------将方法抽象为对象~~ 只有这样做才符合OO的思想
------解决方案--------------------完全可以实现!  
 看这个问题是不是想到了方法的 "重载 ",下面我不用多说了吧?哈哈~~
------解决方案--------------------haolaiwu(宁愿相信世界上有鬼,也不相信女人那张嘴) ( ) 信誉:100    Blog   加为好友  2007-5-5 20:01:31  得分: 0      
 因为涉及到的局部变量多而杂,没有必要去封装到对象去。