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
因为涉及到的局部变量多而杂,没有必要去封装到对象去。