我有一種情況,我的一個類被調用SpaceMine,而我擁有的另一個類被調用,Ability并且其中嵌套了一個類,稱為SpaceMine:public class SpaceMine{}public class Ability{ public class SpaceMine : Ability { void Foo() { SpaceMine spaceMine; } }}在Foo()中,我試圖聲明一個類型SpaceMine(不是Ability.SpaceMine)的變量,但它一直說我的變量是類型Ability.SpaceMine。除了更改名稱之外,我如何確保編譯器知道我要聲明的類型?
2 回答

手掌心
TA貢獻1942條經驗 獲得超3個贊
使用顯式聲明
namespace SpaceName
{
public class SpaceMine
{
}
public class Ability
{
public class SpaceMine : Ability
{
void Foo()
{
Ability.SpaceMine nestedMine; //Nested
//Ability is reducant but it improves readability a little
SpaceName.SpaceMine globalMine; //Not nested
}
}
}
}

楊__羊羊
TA貢獻1943條經驗 獲得超7個贊
我希望您只需要使用完整路徑。
我假設 SpaceMine 在命名空間內 - 如果不是,您需要將整個文件包裝在命名空間中。
然后,您可以new YourNamespace.SpaceMine();
獲取父級或new YourNamespace.Ability.SpaceMine()
訪問嵌套的父級。
我不建議這樣做,因為可讀性受到嚴重影響。
- 2 回答
- 0 關注
- 99 瀏覽
添加回答
舉報
0/150
提交
取消