c#で静的メンバーへのアクセス:インスタンス参照エラーを回避
C#では、静的メンバーにアクセスするには、独自の動作を理解する必要があります。 特定のオブジェクトに属するインスタンスメンバーとは異なり、静的メンバーはクラス自体に属します。 インスタンスリファレンスを使用して静的メンバーにアクセスしようとすると、エラーが発生します。「メンバー」」には、インスタンス参照でアクセスできません。 "静的メンバーアクセスの正しい構文:
静的メンバーにアクセスする正しい方法は、クラスのインスタンスではなく、クラス名を使用することです。例:
を説明しましょう誤ったアクセス(インスタンス参照を使用):
<code class="language-csharp">// Static class members namespace MyDataLayer.Section1 { public class MyClass { public class MyItem { public static string Property1 { get; set; } } } }</code>
正しいアクセス(クラス名を使用):
<code class="language-csharp">using MyDataLayer.Section1; public class MyClass { protected void MyMethod() { MyClass.MyItem oItem = new MyClass.MyItem(); someLiteral.Text = oItem.Property1; // Error! } }</code>
<code class="language-csharp">using MyDataLayer.Section1; public class MyClass { protected void MyMethod() { someLiteral.Text = MyDataLayer.Section1.MyClass.MyItem.Property1; // Correct! } }</code>
modifier static
を削除します
インスタンス経由でメンバーにアクセスする必要がある場合は、メンバーの宣言から
これらのガイドラインに従うことにより、C#の静的メンバーと連携するときに一般的なエラーを回避し、コードが正しく機能することを確認できます。static
これにより、<code class="language-csharp">public class MyItem
{
public string Property1 { get; set; } // No longer static
}</code>
以上がインスタンス参照を使用してC#の静的メンバーにアクセスできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。