相关疑难解决方法(0)

访问者必须比财产或索引器更具限制性

我有以下课程:

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'更具限制性

我一直在寻找类似的问题,但还没有找到答案.

任何人都可以向我解释为什么会这样吗?我真的很想学.

c#

27
推荐指数
2
解决办法
1万
查看次数

C# - 在这个例子中改进了属性的封装?

我知道错误"set访问器的可访问性修饰符必须比属性或索引器更具限制性".我也知道解决方案.只是不在这个非常具体的情况下.

考虑这个例子:

    internal virtual bool IsFocused
    {
        get
        {
            return isFocused;
        }
        protected set
        {
            isFocused = value;
        }
    }
    private bool isFocused;
Run Code Online (Sandbox Code Playgroud)

它显示错误.我只是不知道为什么.如何"保护"不比内部更容易获得?这个问题的解决方案是什么?我试着改为"内部保护"而没有运气.

c# access-modifiers

10
推荐指数
3
解决办法
3550
查看次数

标签 统计

c# ×2

access-modifiers ×1