需要点实例参考下,求不吝赐教

解决方案 »

  1.   

    没有办法
    要么是
    void foo(params object[] p)
    {
        ...
    }
    要么是定义一溜重载:
    void foo<T1>(T1 p1)
    {
        ...
    }
    void foo<T1, T2>(T1 p1, T2 p2)
    {
        ...
    }
    void foo<T1, T2, T3>(T1 p1, T2 p2, T3 p3)
    {
        ...
    }
    ...别以为这很荒诞,微软自己就这么做:比如:Action(T) Delegate
    Action(T1, T2) Delegate
    Action(T1, T2, T3) Delegate
    Action(T1, T2, T3, T4) Delegate
    Action(T1, T2, T3, T4, T5) Delegate
    Action(T1, T2, T3, T4, T5, T6) Delegate
    Action(T1, T2, T3, T4, T5, T6, T7) Delegate
    Action(T1, T2, T3, T4, T5, T6, T7, T8) Delegate
    Action(T1, T2, T3, T4, T5, T6, T7, T8, T9) Delegate
    Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) Delegate
    Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) Delegate
    Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) Delegate
    Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) Delegate
    Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) Delegate
    Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) Delegate
    Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) Delegate
    Tuple Class
    Tuple(T1) Class
    Tuple(T1, T2) Class
    Tuple(T1, T2, T3) Class
    Tuple(T1, T2, T3, T4) Class
    Tuple(T1, T2, T3, T4, T5) Class
    Tuple(T1, T2, T3, T4, T5, T6) Class
    Tuple(T1, T2, T3, T4, T5, T6, T7) Class
    Tuple(T1, T2, T3, T4, T5, T6, T7, TRest) Class等等
      

  2.   


    public void test(params object[] a)
    {
       for (int i=0;i<a.length;i++)
       {
          cw(a[i]);
       }
    }
    test("a");
    test("a","b");
    test("a","b","c");
    test(1);
    test(1,2);
    test(1,2,"a",null);
      

  3.   

    另外, 
    public void Test(params object[] obj)
            {
                foreach(object o in obj)
                {
                    Console.WriteLine(o);
                }
            }
    如果你 Test(new byte[]{1,2,3,4,5....}),只是传了一个参数,所以params很有用
      

  4.   

    public void Test(params object[] obj)
    {  
       GetData(参数1,参数2)//参数1只能被Test里的对象1赋值
    }
    当我传了对象1给Test(),函数里该怎么把对象1赋给GetData()里的参数1呢
      

  5.   


    getdate(obj[0]);
    个人认为 你思路有问题.先整理一下吧.不定量的参数给固定量的参数,本来就不合理.
      

  6.   

    当我传了对象1给Test(),函数里该怎么把对象1赋给GetData()里的参数1呢
    public void Test(params object[] obj)
    {  
       GetData(obj[0],null)//参数1只能被Test里的对象1赋值
    }