“member”不可访问,因为它具有一定的保护级别
类成员的访问修饰符禁止访问该成员。 有关详细信息,请参阅访问修饰符。
扩展方法无法访问它们所扩展的类型的专用成员。
导致出现此错误(未在下面的示例中显示)的一个原因是:在友元程序集的目标上省略了 /out 编译器标志。 有关详细信息,请参阅友元程序集和 OutputAssembly(C# 编译器选项)。
示例
下面的示例生成 CS0122:
// CS0122.cs
public class MyClass
{
private int data;
void PrivateMethod() {}
public void PublicMethod() {}
}
public static class MyClassExtensions
{
public static int GetData(this MyClass myClass)
{
return myClass.data; // CS0122
}
}
public class Program
{
public static void Main()
{
MyClass a = new MyClass();
a.PrivateMethod(); // CS0122
a.PublicMethod(); // OK
}
}