在开发C#程序过程中,如果定义的类不写访问修饰符,则类默认的访问类型是

如题所述

1.命名空间下的元素的默认访问修饰符
public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以访问该类型或成员。
internal : 同一程序集中的任何代码都可以访问该类型或成员,但其他程序集不可以访问。

2.各类型中的成员的默认访问修饰符
剩下的修饰符主要是正对继承这个语言特性的,拥有继承的类型有两个类(class)和接口(interface)。public,internal同样可以用于类型成员。
private : 同一类和结构的代码可以访问该类型和成员。
protected : 同一类和派生(继承特性)类中的代码可以访问该类型和成员。
protected internal : 同一程序集中的任何代码或其他程序集中的任何派生类都可以访问该类型或成员。

MSDN提示 :
1.) 派生类的可访问性不能高于其基类型。换句话说,不能有从内部类 A 派生的公共类 B。如果允许这种情况,将会使 A 成为公共类,因为 A 的所有受保护的成员或内部成员都可以从派生类访问。
2.) 成员的可访问性决不能高于其包含类型的可访问性。
3.) 可以使用五种访问类型中的任何一种来声明类成员(包括嵌套的类和结构)。

接口(interface)
接口成员访问修饰符默认为public,且不能显示使用访问修饰符。

ç±»(class)
构造函数默认为public访问修饰符。
析构函数不能显示使用访问修饰符且默认为private访问修饰符。
类的成员默认访问修饰符为private;

枚举(enum)
枚举类型成员默认为public访问修饰符,且不能显示使用修饰符。

结构(struct)
结构成员默认为private修饰符。
结构成员无法声明为protected成员,因为结构不支持继承。

嵌套类型
嵌套类型的默认访问修饰符为private。 和类,结构的成员默认访问类型一致。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-06-23
省略类的访问修饰符,默认为internal
补充:
省略类成员的访问修饰符,默认为private
第2个回答  2013-04-17
类和方法默认的访问级别都是public,属性和字段默认的访问级别是private
第3个回答  2019-03-20
默认方法是public,默认类为protected

C#中声明类时不写类修饰符,默认什么修饰符
对于类来说,如果你没有写访问修饰符,那么是internal的。对于类的成员(字段,属性,方法等),如果你没有写访问修饰符,那么是private的。

C#的访问级别一共有几个?还有定义一个变量不写任何修饰符他的默认级别...
protected internal 访问仅限于从包含类派生的当前程序集或类型。private 访问仅限于包含类型。变量的默认级别是:private enum的默认级别是: public class的默认级别是: private interface的默认级别是: public struct的默认级别是: private virtual、abstract只是访问的修饰符,跟访问级别没关 ...

在Java和c#中如果不写访问修饰符,类和类成员默认的是什么访问修饰...
省略类的访问修饰符,默认为internal 省略类成员的访问修饰符,默认为private

在Java和c#中如果不写访问修饰符,类和类成员默认的是什么访问修饰...
在java中不写访问修饰符就是包内可见,不是private,private是本类可见 包内可见是同一个包中的所有类都可见,无论类、类成员变量、类方法都是这样的 c#不知道

c#中访问级别有哪些
private :限制为私有访问。该修饰符只能用于类和结构的成员,如果成员未加访问限制修饰符,则默认为private,对于在命名空间下直接定义的类型(如类,结构,接口,枚举,委托等),不允许使用private。对于类和结构的成员,如果声明为私有的,那么只有其所在类或结构中的其他成员可以访问。public:共有访问。

c#类的默认类型是protected还是private还是其它
默认是internal :C#用多种修饰符来表达类的不同性质。根据其保护级C#的类有五种不同的限制修饰符:public可以被任意存取;protected只可以被本类和其继承子类存取;internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“....

C#中类的方法怎么用的?
4. 数组型参数 (以params 修饰符声明)=== 1.值传递: 值类型是方法默认的参数类型,采用的是值拷贝的方式。也就是说,如果使用的是值类型,则可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值。使用值类型的例子如下:(下面的Swap()未能实现交换的功能,因为控制传递回调用方...

如何区别C# private和protected?
访问仅限于包含类型。一个成员或类型只能有一个访问修饰符,但使用 protectedprotected 组合时除外。命名空间上不允许使用访问修饰符。命名空间没有访问限制。根据出现成员声明的上下文,只允许某些声明的可访问性。如果在成员声明中未指定访问修饰符,则使用默认的可访问性。不嵌套在其他类型中的顶级类型的可...

在C#中,错误列表中显示“代码可访问性低”,是怎么回事?用什么方法可 ...
检查出错位置的方法或字段的访问修饰符(public,private,internal,protected),如果没有修饰符,那字段默认是private,类默认是internal,如果外部类调用了有private,internal,protected的方法或字段,就有可能出现访问性低错误。解决方法:根据需要修改访问修饰符即可,如不清楚需要,那成public就一定没错 ...

C#中类的默认访问是公有还是私有
都不是,默认本身好像就是一个限制级别,介于public与private之间,比protect高还是低忘了。。。

相似回答