比较烦人的一个问题,我现在有几个参数不同的VOID(即有的不需要输入参数,有的需要输入1个参数等等),这堆VOID我想动态地按照我的想法执行,不知道怎样才能够实现呢?例如有个VOID是实现吃饭功能,有个VOID是实现打球功能,有个VOID是实现看电视功能。用户可以随意选择先吃饭再打球再看电视,还是先打球再吃饭再看电视,简单来说就是让用户动态地执行动作。请教了很多人都不会,求高人指教,谢谢了。

解决方案 »

  1.   

    多态?
    呵呵 你写一个父类 写个void方法。。然后子类继承父类 重写方法就行了啊。
      

  2.   

    是不是这个意思?void Function(Object obj)
    {
        ArrayList al = (ArrayList)obj;
        // al ToDo:
    }
      

  3.   

    很多方式都可以实现,上面说了策略,
    我补个简单工厂的概念,声明一个接口,接口提供了走路、吃饭、看电视的方法声明play然后实现类继承这个接口最后一个静态类通过传入参数不同实例化对应的类最后的最后返回接口
      

  4.   

    通过反射可以得到MethodInfo 然后用 Invoke 去执行方法名即可this.GetType().GetMethod("Eat").Invoke(this,new object[]{"大米饭"});自己理解下,很简单,当然我这是把所有的写成一串了,你给拆一下就好了
      

  5.   

    this 换成你写的Method类, new object[]{} 里面是你要传的参数  如果不确定的话
    你按照这个思路再改改,先得到Eat这个方法需要传的参数,然后动态赋值就行