c# 中的类和构造函数在不同程序集中的 c# 中的默认访问说明符是啥 [重复]

Posted

技术标签:

【中文标题】c# 中的类和构造函数在不同程序集中的 c# 中的默认访问说明符是啥 [重复]【英文标题】:What is default access specifier in c# for class and constructor in c# with in different assemblies [duplicate]c# 中的类和构造函数在不同程序集中的 c# 中的默认访问说明符是什么 [重复] 【发布时间】:2014-10-23 03:56:30 【问题描述】:

请在 c# 中指定访问说明符和访问修饰符之间的区别 所以如果可能的话,也给我msdn的参考

【问题讨论】:

access specifiers = access modifiers 和 What are the Default Access Modifiers in C#? 如果您知道 MSDN 存在,为什么不简单地搜索一下? “C# 中的默认访问修饰符”在 Google 中表示它是 private。阅读 MSDN 显示“直接在命名空间中声明的类和结构(换句话说,不嵌套在其他类或结构中)可以是公共的或内部的。Internal 是默认值,如果没有指定访问修饰符。” 【参考方案1】:

类的默认访问修饰符是internal,它们的构造函数是'private'。

【讨论】:

“for classes”不太对;对于***课程,它是internal;对于嵌套类,它是private;两者都是“类”。 谢谢,我不知道【参考方案2】:

看看@Difference between access specifier and access modifier

在这种情况下,您可以将访问说明符视为保护 说明符——它们指定可以从哪里访问变量。经过 相比之下,访问修饰符完全不同;他们指定如何 应该(或不应该)访问变量;例如只读, 易挥发等。

即,变量可以是公共的但只读的,或者它可以是私有的并且 writable - 访问说明符与 修饰符。

但是,我有点惊讶于该术语是针对 C# 的,因为 Microsoft 实际上将公共和私有称为“访问修饰符”,它 调用 volatile 和 readonly 只是普通的“修饰符”。

【讨论】:

这应该只是作为评论的第一行,IMO @MarcGravell:我很抱歉。你是对的!

以上是关于c# 中的类和构造函数在不同程序集中的 c# 中的默认访问说明符是啥 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

C#通过反射获取不同命名空间下的类(属性和方法)

C# 类和实例构造函数

C# Asp.Net 中的类和对象

C#语言中的修饰符汇总

C#中私有类的概念

Es6 程序中的类和构造函数