当前上下文中不存在名称"xxx"

Dan*_*Sh. -1 c# visual-studio-2008

这是我常用的app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="BO"
        connectionString="Data Source=MyServer;Initial Catalog=BO;User ID=WebUser;Password=xxxx"
        providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我正在开发一个库,class.cs.这是我得到错误的代码部分.

 public static SqlConnection getNewConnection()
        {
            string conection = ConfigurationManager.ConnectionStrings["BO"].ConnectionString.ToString();
            conn = new SqlConnection(conection);
            return conn;
        }
Run Code Online (Sandbox Code Playgroud)

错误1当前上下文中不存在名称"conn"

任何的想法?我没有复制任何其他被引用到同一文件的文件.(当谈到"在当前上下文中不存在"时,我读过的一些错误很常见)

Shy*_*yju 8

conn在哪里宣布?你有没有在外部范围内声明它?如果没有,宣布它,你会很好.

改变这一行

 conn = new SqlConnection(conection);
Run Code Online (Sandbox Code Playgroud)

 SqlConnection conn = new SqlConnection(conection);
Run Code Online (Sandbox Code Playgroud)

您也可以使用var关键字使用隐式声明.从C# 3.0以后开始提供.

 var conn = new SqlConnection(conection);
Run Code Online (Sandbox Code Playgroud)

编译器将从初始化语句右侧的表达式推断变量的类型

来自msdn

隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定了类型.