C# 中访问修饰符 protected internal 和 internal 的区别?

internal是内部访问,只有本项目可以访问,protected是保护访问,只有本类或者其子类可以访问protectedinternal是内部保护访问照理说应该是本项目... internal 是内部访问,只有本项目可以访问,protected 是保护访问,只有本类或者其子类可以访问
protected internal 是内部保护访问 照理说应该是 本项目 中本类或者其子类可访问。但事实上好像并非如此。我在类a 中定义了一个用protected internal修饰的 方法 , 在另外一个本项目 并无继承关系的类b 任然可以访问此方法。
展开
 我来答
优奈我知识库
2015-11-30 · 程序员干货知识库分享解决方案技术实现内容
优奈我知识库
采纳数:454 获赞数:371

向TA提问 私信TA
展开全部
Internal = public Internal;
protected internal protected 或者 internal 两者是或的关系不是且
所以才会出现楼主的疑问
追问
感谢您的回答,可能就是您说的这种情况,今天在看设计模式时 涉及到访问修饰符,protected internal 一直弄的不是很明白,所以想把它彻底搞明白 感谢您~~
阳光的雷咩咩
2015-11-30 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7870万
展开全部
不应该吧,你大概的代码呢?
追问
这要什么大概代码? 随便在vs 2010 中建个项目试下就知道了。。
追答

我怎么没有测出你那种效果呢,你怎么解释:

新建控制台程序VS2013,.net 4.0,

using ClassLibrary1;
namespace ProtectedInternal
{
    class Program
    {
        static void Main(string[] args)
        {
            B b = new B();
            //b.F() 编译不通过
        }
    }
}

同一个解决方案里添加一个类库项目

namespace ClassLibrary1
{
    public class B
    {
        protected internal void F()
        {
            Console.WriteLine("BF");
        }
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式