【问题标题】:The name 'xxx' does not exist in the current context当前上下文中不存在名称“xxx”
【发布时间】:2012-06-21 12:28:36
【问题描述】:

这是我常用的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'

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

【问题讨论】:

标签: c# visual-studio-2008


【解决方案1】:

conn 在哪里声明?您是否已经在外部范围内声明了它?如果没有,请声明它,你会很好。

改变这一行

 conn = new SqlConnection(conection);

 SqlConnection conn = new SqlConnection(conection);

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

 var conn = new SqlConnection(conection);

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

来自msdn

隐式类型的局部变量是强类型,就像你 自己声明了类型,但是编译器决定了类型

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      变化:

      conn = new SqlConnection(conection);
      

      到:

      SqlConnection conn = new SqlConnection(conection);
      

      这应该可以解决您的问题,您需要定义要创建的对象类型

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-01
        • 2013-10-02
        • 2014-04-22
        • 2017-06-17
        • 2015-09-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多