c# 访问修饰符 internal 和protected internal的区别

书上说:
protected internal:访问仅限于当前程序集或从包含类派生的类型。
Internal:访问仅限于当前程序集.
都是当前程序集,有什么区别吗?

protected 这个是指当前类、当前类的派生类都可以使用的,不管这个派生类在不在当前程序集内部

internal这个是指只要在当前程序集里的,都能访问,

protected internal这个是指当前程序集里的当前类、当前类的派生类都可以使用,但,其它程序集派生当前类的不能使用,
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-09-19
Internal = public Internal;
protected internal = protected internal;

Internal表示当前程序集内中可以访问.所以当前程序集中的所有类都可以访问它

protected internal表示.当前程序集中它的子类才能访问它.本回答被提问者采纳
第2个回答  2017-09-21
为了后来者少走弯路,复制了一下正解:
internal修饰的b在同一个项目中哪里都可以访问,而在另外一个项目中就不能访问,说明“同一程序集”指的是同一个项目;对于protected internal修饰的a在同一项目中哪里都可以访问,而在其它项目中只有在派生类可以访问,所以protected internal 修饰的成员变量是同一程序集或者派生类可以访问,也就是protected跟internal的并集,而不是交集。
可以去这看看:http://bbs.csdn.net/topics/390179646
第3个回答  2016-09-22
protected internal 表示当前程序集或者其子类可以访问。注意是 protected 和 internal 是或者的关系。
第4个回答  2020-07-12
public 访问不受限制
protected 访问仅限于此类或派生自此类的类
private 访问仅限于此类
internal 当前程序集,调用像public一样, 非当前程序集调用像private一样
(访问仅限于当前程序集)
protected internal 当前程序集 调用像public一样, 非当前程序集只有子类可以访问
(访问仅限于包含类、派生自包含类的类或同一程序集中的类。)
这里的当前程序集(.exe、.dll 等)

c# 访问修饰符 internal 和protected internal的区别
internal这个是指只要在当前程序集里的,都能访问,protected internal这个是指当前程序集里的当前类、当前类的派生类都可以使用,但,其它程序集派生当前类的不能使用,

C#中的protected internal跟internal有何区别
protected 只有自己的派生类可见。 internal只有自己包内的程序可见 protected internal 只有自己包内的派生类可见。

C#的访问控制符有哪些
private:只有在类内部可见,它时可访问性最低的修饰符 internal:在程序集内部可以进行访问,程序集外部不能进行访问(internal与protected internal的区别:当父类与子类在同一程序集时,internal成员可见,当子类与父类不在同一程序集时,子类不能访问父类的internal成员,但是子类可以访问父类的protected interna...

private、protected、pubic、internal修饰符的访问权限分别是?_百度...
internal: 在同一命名空间内可以访问

类定义的修饰符有那几个什么含义
2、public:不限制对类的访问。3、protected:只可以被本类和其继承子类访问。4、internal:只可以被本集合内所有的类存取。集合是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“DLL”或“EXE”。5、protected internal:唯一的一种组合限制修饰符,它只可以被本组合体内所有的...

protected internal 和internal 两个修饰符有什么不同?
protected 受保护的,要想反问必须的继承,internal ,当前程序集可访问的

c#中public和internal修饰符的区别
一个是国际妓女,谁用都可以,就是PUBLIC,一个是不懂外语的,只能在国内做生意,就是INTERNAL,只能在当前所在的工程里面引用。你建两个工程,建立一个引用关系,被引用的里面建两个类,就能区别了。用VS的话,你根本点不出来那个不懂外语的

c#中的internal问题
一、Internal关键字的基本含义 在C#中,访问修饰符用于定义类型或成员的可见性。Internal关键字是一种访问级别修饰符,它指定所修饰的类型或成员只能在同一个程序集中被访问。这意味着,如果一个类型或成员被标记为internal,那么在其他程序集中的代码将无法直接访问它。二、Internal的使用场景 在开发过程中...

ASP.NET>protected、internal、private都怎么用?偶分不清
private:被该修饰符修饰的成员 仅仅在类的内部可以访问;即使在其他地方声明了该类的一个实例,也无法访问被该修饰符修饰的成员。protected:被该修饰符修饰的成员 可以在类的内部以及当前类的子类中被访问。internal:被该修饰符修饰的成员 可以在同一个命名空间下被访问。

c#类的修饰符有哪些?
public: 公共访问是允许的最高访问级别,对访问没有限制;private:私有访问是允许的最低访问级别,私有类只有在声明它们的类和结构体中才是可访问的;internal:类型和类型成员的访问修饰符。 只有在同一程序集的文件中,内部类型或成员才是可访问的;protected:受保护类在其所声明的类中可由其所声明类...

相似回答