「成員」因其保護層級而無法存取
類別成員的 存取修飾符 會阻止存取該成員。 如需詳細資訊,請參閱 存取修飾元。
擴展成員無法存取他們所擴展類型的私人成員。
其中一個原因(下方範例未顯示)可能是未在朋友組件的目標中使用編譯器標誌 /out 。 欲了解更多資訊,請參閱 Friend Assemblies 與 OutputAssembly(C# 編譯器選項)。
Example
以下範例產生 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
}
}