管理杂谈OA答疑ERP答疑教程搜索

C#基础之访问修饰符


前言

访问修饰符是用于设置类型和类型成员的可访问性级别,设置控制类、属性、方法等成员在程序中的权限范围。C#提供了5个访问修饰符关键字,使用它们可指定 个可访问性级别。本文介绍C#提供的访问修饰符。

访问修饰符

 C#中的访问修饰符关键字有publicprivateinternalprotectedfile,通过这些关键字在进行声明时指定类型或成员的可访问性,形成下面的七个可访问性级别:

1、public:公有的,访问不受限制。

2、private:私有的,只有同一类或结构中的代码才可以访问。

3、internal:内部的,同一程序集中的任何代码都可以访问。

4、protected:受保护的,仅限于同一个类或从该类派生的类中的代码可以访问。

5、protected internal:访问限于当前程序集或派生自包含类的类型。

6、private protected:访问限于包含类或当前程序集中派生自包含类的类型。

7、file:已声明的类型仅在当前源文件中可见。


通过下表是每个访修饰符在不同位置上的访问限制:

默认访问限制

 C#语言中如果声明时未使用访问修饰符关键,则都有默认的访问修饰符来限制访问,下表不同类型的默认访问。

示例

 下面我三段简单的代码,了解访问修饰符在编写代码上的体现。
using System;using System.Text;
namespace Fountain.Net.Base.ExampleLib{    public class Modifier    {        /// <summary>        /// 声明内部的字符串变量        /// </summary>        internal string internalFruit=string.Empty;        /// <summary>        /// 声明公有的字符串变量        /// </summary>        public string publicFruit;        /// <summary>        /// 声明内部受保护的字符串变量        /// </summary>        internal protected string internalProtectedFruit=null;    }}//-- 在同一程序集中的另一个类中调用访问类的成员using System;using System.Text;
namespace Fountain.Net.Base.ExampleLib;{    public class UsingClass    {        /// <summary>        /// 声明字符串变量,将类Modifier的internalFruit进行赋值        /// </summary>        private string tempInternal=new Modifier().internalFruit;        /// <summary>        /// 声明字符串变量,将类Modifier的publicFruit进行赋值        /// </summary>        private string tempPublic= new Modifier().publicFruit;        /// <summary>        /// 声明字符串变量,将类Modifier的internalProtectedFruit进行赋值        /// </summary>        private string tempProtected=new Modifier().internalProtectedFruit;    }}//-- 在不同程序集中,只能调用Modifier类的publicFruit,因为它是公有的using System;using System.Text;using Fountain.Net.Base.ExampleLib;
namespace Fountain.Net.Base.Sample{   class Program   {      static void Main(string[] args)      {        try        {            // 声明字符串变量,将类Modifier的publicFruit进行赋值            string tempPublic = new Modifier().publicFruit;        }        catch (Exception e)        {            Console.WriteLine("异常信息: {0}", e.Message);        }        // 等待接收控制台输入        Console.ReadLine();      }   }}

小结

以上就是C#中的访问修饰符的内容,通过这些限制对数据及对象进行封装。


更多精彩文章浏览...
点击右上角图标分享到朋友圈
官方网站:http://www.clicksun.cn
咨询热线:400-186-1886
服务邮箱:service@clicksun.cn