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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#中internal关键字是啥意思?相关的知识,希望对你有一定的参考价值。

☆不要复制的答案,要自己的见解,长短无所谓......☆1楼的答案正确 我来补充一下,对于一些大......不要复制的答案,要自己的见解,长短无所谓,一句话也行。

对于一些大型的项目,通常由很多个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();



这就叫,只能在程序集中访问

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。

C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。

但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

参考技术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 修饰符

意思很简单的说就是使用internal的类只能在同一个项目中使用,不能在别的项目中使用,比如你的解决方案中有两个项目,那么只能在其所在的一个使用,就像是不能在Dll中傅它,因为这样别人引用时就不能访问了
参考技术C 程序集内部才能访问

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

【中文标题】c#中的_Default关键字是啥意思【英文标题】:What does _Default keyword mean in c#c#中的_Default关键字是什么意思 【发布时间】:2011-01-15 06:55:10 【问题描述】:

例如,我创建了一个网页,其中包含 _Default 关键字。

public partial class _Default : System.Web.UI.Page 

这个关键字在这里做什么?有什么意义?

【问题讨论】:

它不是关键字(顺便说一句,所有 C# 关键字都是小写的),它只是一个类名 【参考方案1】:

_Default 不是关键字,它是你的类名。

【讨论】:

那为什么是彩色的呢?它有什么特别之处? 这只是你的 IDE 的设置(例如 Visual Studio)(classNames 的颜色) 我不能直接评论 Web 开发,但是一旦 Intellisense 正确解析了我的类名,它们就会显示为彩色。 Andreas 有一个更好的答案,即使你真的想改变它也可以。【参考方案2】:

default 是 C# switch 语句中使用的关键字,在 VB.Net 中适用于默认属性。这就是 IDE 根据页面名称 (Default.aspx) 重命名您的类 _Default 的原因。 _Default 本身不是关键字,并且看起来颜色不同,因为该行中的每个其他单词都是关键字。

【讨论】:

是的,但与这个问题完全不符 @Keith - 我添加了一个简短的评论,然后编辑扩展(当你评论时)。希望它现在更有意义。 断章取义。缺少default(),只是为了完整!【参考方案3】:

不是关键字,是类名。变量名可以以 a-z、A-Z 和 '_' 开头。

【讨论】:

【参考方案4】:

关键字名称是小写的。这是你的班级名称。如果您的页面名称是默认的,asp.net 会将此名称添加到它的类中。

【讨论】:

以上是关于在C#中internal关键字是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

C#中的virtula是啥?