【问题标题】:What does Assembly mean when it comes to classes. Public vs non Public [duplicate]谈到课程,大会是什么意思。公开与非公开[重复]
【发布时间】:2020-09-05 01:28:55
【问题描述】:

我开始学习 c# 教程来学习我的实习。我在课堂上看到了一些有趣的东西。您可以使用public class {class name}class {classname}。我查了一下,人们说这意味着你的程序集可以看到这个类。但什么是组装?在您的程序集中与在您的程序集之外是什么意思?

【问题讨论】:

  • Public 是一个访问修饰符。一切都有一个默认的访问修饰符,但习惯上总是明确地指定你想要的那个。毕竟,默认值是可以改变的。
  • 组件是您的类和其他类型的容器,它通常是 DLL 或 EXE 文件。它确实包含您的代码。如果你将你的代码分隔在主可执行文件(exe 文件)和库(DLL)之类的程序集之间,那么访问修饰符 public 就会发挥作用。请注意,修饰符有两种类型:可访问性修饰符(如publicprivateinternal)和继承修饰符(如protected)。
  • 所以如果我的类是内部的,那么我的其他 DLL 将无法看到它? @布拉德伯里9
  • "所以如果我的类是内部的,那么我的其他 DLL 就看不到它了?" 没错

标签: c#


【解决方案1】:

在源代码方面,程序集就是您的项目。编译后会是 EXE 或 DLL 文件。

基本上,如果您没有创建一个单独的项目来表示用于其他项目的库,那么您不需要 '现在不一定需要为这种区别而烦恼。

【讨论】:

  • 所以 DLL 意味着一个程序集并且拥有一个公共类将允许我的 DLL 中的其他东西访问该类? @乔伊
  • @edo101 你描述的是“内部”访问修饰符。很可能这是默认的,应用于类:docs.microsoft.com/en-us/dotnet/csharp/programming-guide/…
  • 但那是在谈论类成员和方法的修饰符,而不是类它们的修饰符。它就像许多教程一样跳过了@Christopher
  • @edo101:第一个屏幕(基本上是前两部分)讨论了类型的可访问性修饰符。但是,如果您跳到成员部分,那不是文章的错。
  • 它讨论了访问修饰符,但没有涉及程序集是什么以及公共类与非公共类如何受到影响。 @乔伊
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-21
  • 1970-01-01
  • 2014-09-18
  • 1970-01-01
相关资源
最近更新 更多