我在静态方法中使用了switch函数,但是发现如果使用break;就会提示“检测到无法访问的代码”,是不是break调用了什么非静态的成员,谢谢

解决方案 »

  1.   

    不是 。
    你的break放在哪里了呢?贴你的代码上来
      

  2.   

            public static string GetConnString(ConnParams cParams, DbSysType type)
            {
                switch (type)
                { 
                    case DbSysType.MYSQL:
                        return ConnString.CombineMysqlConnString(cParams);
                        break;
                    case DbSysType.OLEDB:
                        return ConnString.CombineOledbConnString(cParams);
                        break;
                    case DbSysType.ORACLE:
                        return ConnString.CombineOracleConnString(cParams);
                        break;
                    case DbSysType.SQLSERVER:
                        return ConnString.CombineSqlConnString(cParams);
                        break;
                    case DbSysType.ACCESS:
                        return ConnString.CombineAccessConnString(cParams);
                        break;
                    case DbSysType.EXCEL:
                        return ConnString.CombineExcelConnString(cParams, true);
                        break;
                    default:
                        return String.Empty;
                        break;
      

  3.   

    使用break就会出现错误提示 “检测到无法访问的代码”,难道必须要去掉break么
      

  4.   

    你都return了,break永远执行不到...只是个警告可以不用理会,但是最好把break;删掉规范些...
      

  5.   

    你这问题和静不静态无关...更规范的写法应该这样...
    public static string GetConnString(ConnParams cParams, DbSysType type) 
    {
    string result;
    switch (type) 

      case DbSysType.MYSQL: 
        result = ConnString.CombineMysqlConnString(cParams);
        break;
      default:
        result = ....;
        break;
    }
    return result;
    }
      

  6.   

    你都return了,break永远执行不到