我阅读了几个主题,Google搜索了许多网站,阅读了关于"内部"访问修饰符。但仍然令人困惑。我找不到装配的确切定义。
让我们假设在Visual Studio中我有解决方案,其中我有两个项目 -
ProjectA (NameSpaceA), ProjectB (NameSpaceB).
ProjectA has references of ProjectB.
Each project has 2 class (.cs) files
- ProjectA (ClassA1.cs, ClassA2.cs)
- ProjectB (ClassB1.cs, ClassB2.cs)
在ClassA1.cs文件中的我有两个类:A1ClassOne,A1ClassTwo。在所有其他.cs文件中,每个文件只有一个类。
Solution中的每个类都是单独的类(没有派生类)
问题:如果在A1ClassOne中我有方法使用访问修饰符"内部",那么从哪些类可以访问它? 上述解决方案示例中的汇编是什么意思?整体方案?或者每个项目是不同的组件(解决方案中的两个组件)?或者每个类(.cs)文件?如果一个.cs文件中有几个类怎么办?
换句话说,我需要解决方案的装配解释。
答案 0 :(得分:1)
internal
表示你可以从同一个程序集中的类(.DLL,.EXE)“看到”它(引用,派生等)
问题:如果在A1ClassOne中我有访问修饰符的方法 “内部”,然后从哪些类可以访问?
来自与该方法相同的程序集内的所有类。
上述解决方案示例中的装配是什么意思?整体方案?或者每一个 项目是不同的组件(解决方案中的两个组件)?或者每一个 class(.cs)文件?如果一个.cs文件中有几个类怎么办?
.DLL是一个程序集。一个.EXE通常对应一个项目,是的。
ProjectA (NameSpaceA)
- ref ProjectB
- ClassA1.cs
- A1ClassOne
- internal Method1
- A1ClassTwo
- ClassA2.cs
ProjectB (NameSpaceB)
- ClassB1.cs
- ClassB2.cs
大会'A'将是A1ClassOne
,A1ClassTwo
。可以从他们那里访问Method1
。
程序集“B”将是ClassB1和ClassB2文件中定义的所有类。他们无法访问Method1
。