我有以下课程:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Odbc;
namespace Framework
{
public class OracleProvider
{
private OdbcConnection db { get; private set; }
private String dbUsername = Settings.Default.Username;
private String dbPassword = Settings.Default.Password;
public OracleProvider()
{
connect();
}
public void connect()
{
db = new OdbcConnection("Driver={Microsoft ODBC for Oracle};Server=CTIR; UID="+dbUsername+";PWD="+dbPassword+";");
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我收到以下错误:
错误11:'Framework.OracleProvider.db.set'访问器的可访问性修饰符必须比属性或索引器'Framework.OracleProvider.db'更具限制性
我一直在寻找类似的问题,但还没有找到答案.
任何人都可以向我解释为什么会这样吗?我真的很想学.
我知道错误"set访问器的可访问性修饰符必须比属性或索引器更具限制性".我也知道解决方案.只是不在这个非常具体的情况下.
考虑这个例子:
internal virtual bool IsFocused
{
get
{
return isFocused;
}
protected set
{
isFocused = value;
}
}
private bool isFocused;
Run Code Online (Sandbox Code Playgroud)
它显示错误.我只是不知道为什么.如何"保护"不比内部更容易获得?这个问题的解决方案是什么?我试着改为"内部保护"而没有运气.