0

如果那里有答案,我很抱歉,但我找不到任何答案。
我目前处于如下所示的情况。我预计它会抛出一个错误,但它没有。
'Outer' 内部的变量称为 'inner',是私有嵌套类 Outer.Inner 的一个实例。我想知道如何访问非嵌套的 Inner 实例。
这可能可以通过使用不同的命名空间来完成,但是还有其他方法吗?

public class Outer {
    private Inner inner = new Inner(); // This is the Outer.Inner class

    private class Inner { }
}

public class Inner { }
4

2 回答 2

2

如果您不想将其包装在命名空间中,您可以使用它global::来引用全局命名空间中的类型:

public class Outer
{
    private global::Inner inner = new global::Inner(); 
    private class Inner
    {
    }
}

public class Inner
{
}
于 2019-01-04T21:08:21.187 回答
1

这似乎工作正常。

我在类名之前使用了命名空间。

namespace Example
{
    public class Outer
    {
        private Example.Inner inner = new Example.Inner();

        private class Inner { }
    }

    public class Inner { }
}
于 2019-01-04T21:06:14.033 回答