【问题标题】:Overload resolution failed because no 'item' is accessible重载解析失败,因为没有“项目”可访问
【发布时间】:2018-02-10 00:34:31
【问题描述】:

我不知道为什么我的自定义类中出现此错误

重载解析失败,因为没有 'item' 是可访问的”在第 15 和 16 行。要查看代码,请点击链接

Imports System.Configuration

Public Class AppSettings 
  Private config As Configuration

  Public Sub AppSetting()
    config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
  End Sub

  Public Function GetConnectionString(ByVal key As String) As String
    Return config.ConnectionStrings.ConnectionStrings(key).ConnectionString
  End Function

  Public Sub SaveConnectionString(ByVal key As String, ByVal value As String)
    config.ConnectionStrings(key).ConnectionString = value
    config.ConnectionStrings(key).ProviderName = "MySql.Data.MySqlClient"
    config.Save(configurationSaveMode.Modified)
  End Sub
End Class

【问题讨论】:

  • 这两行是出现错误的地方 config.ConnectionStrings(key).ConnectionString = value config.ConnectionStrings(key).ProviderName = "MySql.Data.MySqlClient"
  • 我不太了解那个类,但是 ConnectionStrings 属性不是集合或字典。

标签: .net vb.net


【解决方案1】:

您在config.ConnectionStrings(key) 之间缺少.ConnectionStrings,正如您在GetConnectionString 方法中所正确使用的那样:

config.ConnectionStrings.ConnectionStrings(key).ConnectionString = value
config.ConnectionStrings.ConnectionStrings(key).ProviderName = "MySql.Data.MySqlClient"

但是你可以使用一个临时变量来简化

Dim connString = config.ConnectionStrings.ConnectionStrings(key)
connString.ConnectionString = value
connString.ProviderName = "MySql.Data.MySqlClient"

或使用With 语句

With config.ConnectionStrings.ConnectionStrings(key)
    .ConnectionString = value
    .ProviderName = "MySql.Data.MySqlClient"
End With

【讨论】:

  • 不客气。另外,由于您是 StackOverflow 的新手,我想通知您,您可以通过勾选答案旁边的勾号来为好的答案投票并接受对您帮助最大的答案。在本网站上,点赞或接受的答案都算作“感谢”。
  • 现在我遇到了另一个问题。当我尝试从另一个类访问“SaveConnectionString”方法时,我收到此错误“对象引用未设置为对象的实例”它指向这行代码“使用 config.ConnectionStrings.ConnectionStrings(key)”
  • Dim saveSettings = New AppSettings saveSettings.SaveConnectionString("cn", conString) MessageBox.Show("连接设置保存成功!") 上面的代码是用按钮点击事件执行的,是不是这个代码错了?如果是的话,我错过了哪里
  • 见:Connection Strings and Configuration Files。示例在 C# 中,但在 VB 中的过程相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多