2 回答

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個贊
如果沒有特別查看這些文件,我可以假設(shè)它們可能位于同一名稱空間中。
internal當(dāng)類具有可見性時,它可以隱式地訪問與自身位于同一命名空間下的同一程序集中的所有內(nèi)容public,因此這兩個類可能位于同一命名空間中并且可以相互訪問。
// brain.cs
namespace Brain {
public class A {
public B InstanceOfB { get; set;}
}
public class B { }
}
如果這兩個類位于不同的文件中,這仍然有效,因此上面的內(nèi)容與以下內(nèi)容相同:
/// brain.A.cs
namespace Brain {
public class A {
public B InstanceOfB { get; set;}
}
}
/// brain.B.cs
namespace Brain {
public class B { }
}
最終,您只需在將文件添加到項目時(using Brain;對于上面的示例),為他們在代碼中使用的命名空間添加 using 語句。
默認(rèn)命名空間編輯:
默認(rèn)命名空間是為代碼文件中未指定的類設(shè)置的。您可以在元素中的文件中找到默認(rèn)命名空間(稱為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貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個贊
partial
另一種選擇也可能是在一種超類上使用關(guān)鍵字并將您的類實(shí)現(xiàn)為子類,例如
ScriptA.cs
public partial class SuperClass
{
? ? public class A { }
}
ScriptB.cs
public partial class SuperClass
{
? ? public class B?
? ? {
? ? ? ? public A = new A();
? ? }
}
- 2 回答
- 0 關(guān)注
- 206 瀏覽
添加回答
舉報