[英]C# - private static method in partial class not shared between files?
我正在像这样创建static partial class
。
如果我将它们放在同一个文件中没有问题,但是当我将一个 class 移动到同一个项目中的另一个文件时,此方法private_method_from_a()
不再存在。
这是设计使然吗? 我在这里想念什么吗?
//File A
public static partial class PartialClass
{
private static void private_method_from_a()
{
//Do something
}
}
//File B
public static partial class PartialClass
{
public static void public_method_b()
{
private_method_from_a();
}
}
正如@MickyD 在评论中建议的那样,这两个文件很可能位于不同的namespace
中。 这个问题的原因是你完全制作了 2 个不同的类。 很可能,其中一个在项目的命名空间中,而另一个在全局命名空间中 - 也就是说,您根本没有为它指定命名空间。 以下是编译器看到它们的方式(假设您的项目名为“MyProject”,并将该名称作为顶级命名空间):
partial class global::MyProject.PartialClass
和
partial class global::PartialClass
嗯,这是两种不同的类型,具有不同的完全限定名称,都是部分的。
确保它们都位于 C# 编译器的相同命名空间中,以将它们视为相同类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.