C#public_private_protected_internal_protected internal

private关键字是一个成员访问修饰符,私有访问是允许访问的最低级别,私有成员只有在访问他们的类和结构体中才是客访问的。

例如:在如下的例子中,Employee类包含两个私有数据成员name和salary,私有成员只能通过成员方法来访问,因此添加了名为GetName和Salary的公共方法,允许对私有成员受控制的访问,name成员通过公共方法来访问,salary成员通过一个公共只读属性来访问。

using System;
class Employee
{
    private string name = "FirstName, LastName";
    private double salary = 100.0;

    public string GetName()
    {
        return name;
    }

    public double Salary
    {
        get { return salary; }
    }
}

public关键字是一个类型和类型成员访问修饰符,公共访问是允许的最高访问级别,对访问公共成员没有限制。

protected关键字是一个成员访问修饰符,访问仅限于包含类和包含类派生的类型。

internal关键字是类型和类型成员的访问修饰符,只有在同一程序集的文件中,内部类型或成员才是可访问的。

这是msdn上对internal的描述,类型有enum(枚举)、class(类)、interface(接口)、struct(结构).

类型成员有函数,成员变量如:函数和成员变量等。

protect internal只能在本类,派生类或者包含该类的程序集中使用。

时间: 2024-10-21 09:24:26

C#public_private_protected_internal_protected internal的相关文章

解决Gradle报错找不到org.gradle.api.internal.project.ProjectInternal.getPluginManager()方法问题

因为本地的AndroidStudio很久没用了,所以想要研究下github上的某个代码的时候,还得重新配下环境 打开了几个项目,都是提示如下错误 Error:Unable to find method 'org.gradle.api.internal.project.ProjectInternal.getPluginManager()Lorg/gradle/api/internal/plugins/PluginManagerInternal;'. Possible causes for this

Android 如何引用com.android.internal.R目录下的资源

Android 如何引用com.android.internal.R目录下的资源 项目需求 有一个资源跟系统上的一个资源相同,想要引用它:frameworks/base/core/res/res/drawable/ic_text_dot.xml 文件名称:ic_text_dot.xml 文件的具体内容: <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2014 The Androi

com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 3 无效。

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [scheduling.xml]; nested exception is com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的

ORA-00600: internal error code, arguments: [4193]问题解决

操作环境 SuSE+Oracle11gR2 问题现象 单板宕机自动重启后,ORACLE运行不正常,主要表现如下: 1.执行shutdown immedate停止数据库时,提示ORA-00600: internal error code, arguments: [4193],[],[] 2.压测性能时,oracle总是无缘无故关闭 问题分析 发现问题后首先查看告警日志<find $ORACLE_BASE -name "alert*.log"> 1.查看告警日志,发现日志中有O

Compilation err ororg.eclipse.jdt.internal.compiler.classfmt.ClassFormatException

严重: Compilation errororg.eclipse.jdt.internal.compiler.classfmt.ClassFormatExceptionat org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:372)at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:2

HTTP Status 500 ? Internal Server Error

getWriter()和getOutputStream()不能同时调用 HTTP Status 500 ? Internal Server Error Type Exception Report Message getWriter() has already been called for this response Description The server encountered an unexpected condition that prevented it from fulfilli

一键解决 500 Internal Privoxy Error

一键解决 500 Internal Privoxy Error 500 Internal Privoxy Error 最近获得一个SS帐号,手机,其他电脑都能上,但是在我的电脑上就是500,如上所示. 后来在一家SS提供商发现了解决方法,就是修改注册表.商家提供了一键修复脚本: 棱镜VPN SS修复脚本下载 执行脚本 重启SS客户端.

ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], [], [], [], [], [], []

今天在PlateSpin Forge(关于PlateSpin相关介绍,请见最下面部分简单介绍) 复制出来的一台数据库服务器上,测试数据库能否正常启动时,遇到了"ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], [], [], [], [], [], []"错误: 在官方文档介绍中,这个错误主要出现在磁盘出现故障导致数据库崩溃后,实例启动失败,并报ORA-00600: arguments: [kcratr1

(/var/lib/mysql/NeoKylin-CNVL.cs1cloud.internal.pid). &nbsp; [失败]

启动mysql数据库失败 [[email protected] opt]# service mysql start Starting MySQL.....The server quit withoutupdating PID file (/var/lib/mysql/NeoKylin-CNVL.cs1cloud.internal.pid).                         [失败] 解决方法: 将ervice mysql start启动方式改为/etc/init.d/mysqls