此代码:
public class Class1
{
private Class2 _class2;
private void Something()
{
Class2 class2;
}
}
file class Class2
{
}
在成员
_class2
上产生编译器错误 CS9051,但不会在方法内的局部变量 class2
上产生编译器错误:
文件本地类型“Class2”不能在成员签名中使用 非文件本地类型“Class1”。
单击 CS9051 提供的链接将打开此页面,在撰写本文时,该页面状态为 抱歉,我们没有有关此 C# 错误的详细信息。我在网上找不到任何其他内容可以解释为什么会出现这种情况。有人可以解释一下为什么我可以在
Class2
内的方法或属性中使用Class1
但不能作为私有类成员吗?这似乎降低了原本有用的功能(file
访问修饰符)的实用性。
允许在顶级类型声明上使用文件修饰符。该类型仅存在于声明它的文件中。