在c#中internal关键字是啥意思?

author author     2023-04-26     290

关键词:

不要复制的答案,要自己的见解,长短无所谓,一句话也行。

internal修饰符可以用于类型或成员,使用该修饰符声明的类型或成员只能在同一程集内访问,接口的成员不能使用internal修饰符。

就是使用internal的类只能在同一个项目中使用,不能在别的项目中使用,比如你的解决方案中有两个项目,那么只能在其所在的一个使用,就像是不能在Dll中傅它,因为这样别人引用时就不能访问了。

扩展资料:

C语言的标准

起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。

这本书被 C语言开发者们称为K&R,很多年来被当作C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。

K&R C主要介绍了以下特色:

结构体(struct)类型

长整数(long int)类型

无符号整数(unsigned int)类型

把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。

即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。

1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。

1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。

1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-198"Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。

1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C 。

因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。

1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994 ,有些人简称为C94标准。

1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity,有些人简称为C95标准。

C99标准

1999年1月,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C语言的新标准:ISO/IEC 9899:1999 - Programming languages -- C,简称C99标准。这是C语言的第二个官方标准。

参考资料来源:百度百科--C语言

参考资料来源:百度百科--C语言运算符

参考技术A 1楼的答案正确
我来补充一下,对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法。
比如,你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能,这个DLL文件的程序就是一个程序集。
如果你记录日志的程序集是这么定义的
namespace LogerHelper

internal class aa

public void bb()

return "";



public class Write

public void WriteIn(string content)

class x = new aa();
x.bb();




当另一个项目引用了此DLL
它可以这么访问
LogerHelper.Write x = new LogerHelper.Write();
x.WriteIn("");

但不可以这么访问
LogerHelper.aa x = new LogerHelper.aa();
x.bb();

这就叫,只能在程序集中访问本回答被提问者采纳
参考技术B internal关键字是类型和类型成员的访问修饰符。内部成员只有在同一程序集中的文件内才是可访问的。internal 可访问域限定于类所在的程序内。 参考技术C 表示只能在程序集中访问的修饰符 参考技术D 1、public
访问不受限制。
2、protected
访问仅限于包含类或从包含类派生的类型。
3、internal
访问仅限于当前程序集。
4、protected internal
访问仅限于从包含类派生的当前程序集或类型。
5、private
访问仅限于包含类型。

6 可以看到 其实就是一种访问权限,仅限制于当前程序集。那么当前程序集是什么玩意,程序集是什么 ? —— 经由编译器编译得到的,供CLR(公共语言运行库(Common Language Runtime)是.net Framework 的库 ,而 程序集就是 .net Framework的基本组成部分 )进一步编译执行的那个中间产物,在WINDOWS系统中,它一般表现为·dll或者是·exe的格式,但是要注意,它们跟普通意义上的WIN32可执行程序是完全不同的东西,程序集必须依靠CLR才能顺利执行。
7 可以看到,换句话说就是 当前程序所有的 .dll 或者 .exe (或者说就是程序集)都可以访问,有个经典答案就是说当前工程。

这就是我的理解,也是新手。。。。

在c#中internal关键字是什么意思?

对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法。比如,你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能,这个DLL文件的程序就是一个程序集。如... 查看详情

C# 中“internal”关键字的实际用途

】C#中“internal”关键字的实际用途【英文标题】:Practicalusesforthe"internal"keywordinC#【发布时间】:2010-09-1500:12:55【问题描述】:您能否解释一下C#中internal关键字的实际用法?我知道internal修饰符限制了对当前程序集的访问... 查看详情

C#中的“var”是啥意思? [复制]

...制]【发布时间】:2011-05-1711:41:30【问题描述】:在C#中,关键字var是如何工作的?【问题讨论】:【参考方案1】:这意味着数据类型是从上下文中派生(隐含)的。来自http://msdn.microsoft.com/en-us/library/bb3 查看详情

c#中的_Default关键字是啥意思

】c#中的_Default关键字是啥意思【英文标题】:Whatdoes_Defaultkeywordmeaninc#c#中的_Default关键字是什么意思【发布时间】:2011-01-1506:55:10【问题描述】:例如,我创建了一个网页,其中包含_Default关键字。publicpartialclass_Default:System.Web.UI... 查看详情

c#中new这个关键字是啥意思

就是在主函数中Point(定义过的类)a(定义的对象)=newPoint();这是什么意思啊。new运算符用于在堆上创建对象和调用构造函数。new修饰符用于隐藏基类成员的继承成员。new运算符1.用于创建对象和调用构造函数例:Class_TestMyClass=n... 查看详情

c#中的virtula是啥?

...质上的,虚拟的,虚的。Virtual是C++OO机制中很重要的一个关键字,Virtual方法分为虚方法和抽象方法。一、Virtual方法(虚方法)virtual关键字用于在基类中修饰方法。virtual的使用会有两种情况:情况1:在基类中定义了virtual方法,... 查看详情

我的 C# Private Class 可以在 DLL 内的任何地方访问,那么 internal 的用途是啥?

】我的C#PrivateClass可以在DLL内的任何地方访问,那么internal的用途是啥?【英文标题】:MyC#PrivateClassisaccessibleanywhereinsidetheDLL,thenwhatstheuseofinternal?我的C#PrivateClass可以在DLL内的任何地方访问,那么internal的用途是什么?【发布时间... 查看详情

C#中'in'关键字的用途是啥? [复制]

】C#中\\\'in\\\'关键字的用途是啥?[复制]【英文标题】:Whatistheuseof\'in\'keywordinC#?[duplicate]C#中\'in\'关键字的用途是什么?[复制]【发布时间】:2019-04-2319:03:17【问题描述】:in关键字有什么用?C#7.0引入了in的新关键字。让我们分... 查看详情

在 C# 中函数名前的波浪号是啥意思?

】在C#中函数名前的波浪号是啥意思?【英文标题】:WhatdoesthetildebeforeafunctionnamemeaninC#?在C#中函数名前的波浪号是什么意思?【发布时间】:2010-09-1608:45:17【问题描述】:我正在查看一些代码,它有这样的声明:~ConnectionManager()D... 查看详情

这句话是啥意思?(c#)int

...32位有符号整数number。返回值指示操作是否成功。注意out关键字参数通过引用来传递。与ref关键字类似,不同之处在于ref要求变量必须在传递之前进行初始化。若要使用out参数,方法定义和调用方法都必须显式使用out关键字。尽... 查看详情

C#中变量名前的@符号是啥意思? [复制]

】C#中变量名前的@符号是啥意思?[复制]【英文标题】:Whatdoesthe@symbolbeforeavariablenamemeaninC#?[duplicate]C#中变量名前的@符号是什么意思?[复制]【发布时间】:2010-09-3013:56:46【问题描述】:可能重复:What\'stheuse/meaningofthe@characterinvar... 查看详情

C# 默认关键字在 F# 中的等效项是啥?

】C#默认关键字在F#中的等效项是啥?【英文标题】:WhatistheequivalentinF#oftheC#defaultkeyword?C#默认关键字在F#中的等效项是什么?【发布时间】:2011-01-1519:34:18【问题描述】:我正在寻找相当于C#default关键字,例如:publicTGetNext()Ttemp=... 查看详情

C# 中“const”关键字的 C++/CLI 等效项是啥?

】C#中“const”关键字的C++/CLI等效项是啥?【英文标题】:WhatistheC++/CLIequivalentforthe\'const\'keywordinC#?C#中“const”关键字的C++/CLI等效项是什么?【发布时间】:2016-02-1521:10:25【问题描述】:我尝试在我的C++/CLI代码中声明以下内容... 查看详情

问号和点运算符是啥意思?在 C# 6.0 中是啥意思?

】问号和点运算符是啥意思?在C#6.0中是啥意思?【英文标题】:Whatdoesquestionmarkanddotoperator?.meaninC#6.0?问号和点运算符是什么意思?在C#6.0中是什么意思?【发布时间】:2015-04-0518:52:55【问题描述】:在VS2015预览版中使用C#6.0,我... 查看详情

有啥理由在 C# 中编写“private”关键字?

】有啥理由在C#中编写“private”关键字?【英文标题】:Anyreasontowritethe"private"keywordinC#?有什么理由在C#中编写“private”关键字?【发布时间】:2012-01-1817:39:59【问题描述】:据我所知,private是C#中默认的everywhere(这意味... 查看详情

c#中的“定义字符串变量”是啥意思。

...整形变量其中的int/byte/short三种变量的区别除了定义用的关键字不同外,主要就是取值范围不同再说全局变量与局部变量,在C/C++等语言中会有这样的“说法”,不过到了C#严格说应该不存在真正的全局变量的,因为C#是完全的面... 查看详情

运算符“<<”在 C# 中是啥意思?

】运算符“<<”在C#中是啥意思?【英文标题】:Whatdoestheoperator"<<"meaninC#?运算符“<<”在C#中是什么意思?【发布时间】:2011-01-0117:26:30【问题描述】:我正在使用NAudio包在C#中进行一些基本的音频编程,我... 查看详情

c#中的??是啥意思

...。3、Protected:不允许外界访问,但允许派生类访问。4、Internal:允许同一个命名空间中的类访问。5、在while括号后面不要加分号,因为加分号后,就表示while语句中的循环体代表空语句。不过有时可以将while语句的循环体中的语... 查看详情