首页 > 代码库 > c# internal关键字demo<转>

c# internal关键字demo<转>

原文地址 http://blog.sina.com.cn/s/blog_3f39ffb50100bakf.html

internal 修饰符可以用于类型或成员,使用该修饰符声明的类型或成员只能在同一程集内访问接口的成员不能使用 internal 修饰符值得注意的是,如果为 internal 成员加上了 protected 修饰符,这时的访问级别为 internal 或 protected。只是看字面意思容易弄错,许多人认为 internal protected 应该是“只有同一个程序集中的子类可以访问”,但其实它表示“同一个程序集中的所有类,以及所有程序集中的子类都可以访问”

示例

Example05Lib 项目的 Class1 

 

技术分享
Code
using System;
using
System.Collections.Generic;
using
System.Text;

namespace
Example05Lib
{
public class
Class1
{
internal String strInternal = null
;
public
String strPublic;
internal protected String strInternalProtected = null
;
}
}

 

结果
Example05Lib 项目的 Class2 类可以访问到 Class1 的 strInternal 成员,当然也可以访问到strInternalProtected 成员,因为他们在同一个程序集里

技术分享

Example05 项目里的 Class3 类无法访问到 Class1 的strInternal 成员,因为它们不在同一个程序集里。但却可以访问到strInternalProtected 成员,因为 Class3 是 Class1 的继承类

技术分享

Example05 项目的 Program 类既无法访问到 Class1的 strInternal 成员,也无法访问到 strInternalProtected成员,因为它们既不在同一个程序集里也不存在继承关系

技术分享

c# internal关键字demo<转>