c#中不像vc那样,不能有参数默认值,你可以考虑重载

解决方案 »

  1.   

    C#、VB、java中的没有默认值只能重载这方面C++要强大些,两者都行
      

  2.   

    public int CreateParameter(string strName,SqlDbType sType,[DefaultValue(0)]int intSize,VARIANT varValue)
      

  3.   

    重载函数啊。public int CreateParameter(string strName, SqlDbType sType, int intSize, VARIANT varValue)
    {
        //...
    }public int CreateParameter(string strName, SqlDbType sType, VARIANT varValue)
    {
         intSize =0;
         //....
    }然后就可以调用这些方法了。
      

  4.   

    xixigongzhu(夕夕公主):
    按你的做法不行。。
    d:\DOTNET程序库\Database\sinDataclass.cs(92): 找不到类型或命名空间名称“DefaultValue”(是否缺少 using 指令或程序集引用?)
    是不是没有引用空间名??
    多谢指教,运行通过马上给分。
      

  5.   

    xixigongzhu(夕夕公主):
    按你的做法不行。。
    d:\DOTNET程序库\Database\sinDataclass.cs(92): 找不到类型或命名空间名称“DefaultValue”(是否缺少 using 指令或程序集引用?)
    是不是没有引用空间名??
    多谢指教,运行通过马上给分。
      

  6.   

    在同一个类中可以对函数重载,看你对参数的需要而定,例如,你有时需要传可以转化为数字的字符串,有时需要串数字。这时,你可以重载函数
    例: private int Add(string number)
        {
            int i = int.Parse(number);
            i++;
            return i;
        }
        private int Add(int number)
        {
             number++;
             return number;
         }    这只是一个例子可能没有实际的意义,只是说明重载函数的方法,类继承也可以重载函数
    class A
    {
       public virtue show()
       {
          MessageBox.Show("kkk");
        }
    }
    class B : A
    {
        public override show()
        {
           MessageBox.Show("llll");
        }
    }