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

时间:2012-06-19 12:56:42

标签: 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>

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

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

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

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

3 个答案:

答案 0 :(得分:8)

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

更改此行

 conn = new SqlConnection(conection);

 SqlConnection conn = new SqlConnection(conection);

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

 var conn = new SqlConnection(conection);

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

来自msdn

  

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

答案 1 :(得分:3)

更改conn = new SqlConnection(conection);var conn = new SqlConnection(conection);

答案 2 :(得分:2)

变化:

conn = new SqlConnection(conection);

为:

SqlConnection conn = new SqlConnection(conection);

这应解决您的问题,您需要定义您正在创建的对象类型