2 回答
TA贡献1998条经验 获得超6个赞
如果没有特别查看这些文件,我可以假设它们可能位于同一名称空间中。
internal当类具有可见性时,它可以隐式地访问与自身位于同一命名空间下的同一程序集中的所有内容public,因此这两个类可能位于同一命名空间中并且可以相互访问。
// brain.cs
namespace Brain {
public class A {
public B InstanceOfB { get; set;}
}
public class B { }
}
如果这两个类位于不同的文件中,这仍然有效,因此上面的内容与以下内容相同:
/// brain.A.cs
namespace Brain {
public class A {
public B InstanceOfB { get; set;}
}
}
/// brain.B.cs
namespace Brain {
public class B { }
}
最终,您只需在将文件添加到项目时(using Brain;对于上面的示例),为他们在代码中使用的命名空间添加 using 语句。
默认命名空间编辑:
默认命名空间是为代码文件中未指定的类设置的。您可以在元素中的文件中找到默认命名空间(称为RootNamespace)(通常是文件中的第一个 PropertyGroup):*.csproj<PropertyGroup><Project>
<!-- Brain.Common.csproj -->
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
...
<PropertyGroup>
...
<RootNamespace>Brain.Common</RootNamespace>
<AssemblyName>Brain.Common</AssemblyName>
...
TA贡献1798条经验 获得超7个赞
partial
另一种选择也可能是在一种超类上使用关键字并将您的类实现为子类,例如
ScriptA.cs
public partial class SuperClass
{
public class A { }
}
ScriptB.cs
public partial class SuperClass
{
public class B
{
public A = new A();
}
}
- 2 回答
- 0 关注
- 146 浏览
添加回答
举报