use out and/or ref parametersstring a= abc();
    int b = abc();
    XmlNode c = abc(ref b, out a);
    ........    private  XmlNode abc(ref int b, out string a)
    {
       ///具体代码
     }

解决方案 »

  1.   

    private int abc(out string a,out int b, out bool c)
    {
    a = "a";
    b = 10;
    c = false;
    return -1;
    }private void button1_Click(object sender, System.EventArgs e)
    {
    string a;
    int b;
    bool c;
    abc(out a,out b,out c);
    MessageBox.Show(a.ToString() + "\r\n" + b.ToString() + "\r\n" + c.ToString());
    }
      

  2.   

    private bool abc(bool para)
    {
    return value;
    }private string abc(string para)
    {
    return value;
    }
    不知道你说的是不是这个意思。
      

  3.   

    CSTerry:    返回object类型,再根据不同类型进行转换?那如果函数返回是字符串,你转换成Int不就出错了。。
      

  4.   

    chenyuming2004,老大就是这个意思
      

  5.   

    Sorry 不是重载,是覆盖!
      

  6.   

    各位老大,我试了,上述回答是同时给出多种返回值,我的意思是根据不同的需要,让同一个函数返回不同类型的返回值-----那么你只能返回object,使用起来也有很大的不方便
      

  7.   

    private bool abc(bool para)
    {
    return value;
    }private string abc(string para)
    {
    return value;
    }
    不知道你说的是不是这个意思。---我觉得应该是这个意思吧。
      

  8.   

    光返回值不同,是不允许重载的。
    只能返回 object ,再通过 obj.GetType() 获取真实的类型。
      

  9.   

    可以根据输入参数类型来判断输出参数
    private object abc(object para)
    {
    switch(para.GetType().ToString())

    case:"System.String"
    return value;
    break;
    case:"System.Boolean"
    return value;
    break;
    case:...
    return value;
    break;
    ....
    }
    没经过测试,不知道对不对,可以试试看
      

  10.   

    返回一个object就可以了啊,在C#里面一切都是object,呵呵!