C#基础之访问修饰符
				
									
					
					
						|  | 
							admin 2024年3月26日 18:57
								本文热度 2016 | 
					
				 
				前言
访问修饰符是用于设置类型和类型成员的可访问性级别,设置控制类、属性、方法等成员在程序中的权限范围。C#提供了5个访问修饰符关键字,使用它们可指定 七个可访问性级别。本文介绍C#提供的访问修饰符。
访问修饰符
 C#中的访问修饰符关键字有public、private、internal、protected、file,通过这些关键字在进行声明时指定类型或成员的可访问性,形成下面的七个可访问性级别: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#中的访问修饰符的内容,通过这些限制对数据及对象进行封装。
该文章在 2024/3/26 18:57:27 编辑过