【发布时间】:2017-05-16 12:30:43
【问题描述】:
所以我有两个不同的源文件:
file1.cs:
namespace namespace1 {
public partial class Class1 {
public partial class NestedClass {
public int myInt{ get; set; }
}
}
}
file2.cs:
namespace namespace1.Class1 {
public partial class NestedClass {
void doSomething() {
Console.WriteLine(this.myInt); // class does not contain definition for myInt
}
}
}
问题:
我正在尝试访问在第二个部分类中声明的成员变量。不能从其他文件中查看我声明的任何变量。
我的解决方案尝试:
我找到了这个post,但它似乎没有解决我的问题。我在每个部分类文件中声明了几个测试变量,其他文件看不到任何内容。我尝试了使用和不使用 setter 的公共和私有变量,因为这种情况下的问题涉及缺少 setter。我想也许我的类命名不正确,所以我三重检查了我的命名空间和类名,它们都被声明为部分的。最后,我也尝试重新启动 Visual Studio,但无济于事。
任何帮助将不胜感激!
【问题讨论】:
-
命名空间不同。
-
第一个部分类作为嵌套类存在,因此我在file2.cs中添加了命名空间。
-
您实际上应该在 file2 上得到编译器错误,因为 namespace1.Class1 已在 file1 中声明。
-
@Dan 我认为没有必要。我所做的只是根据下面威廉的回答对其进行编辑。我将按原样保留问题和答案。我认为它会像现在这样对未来的观众产生最大的影响。