1. ホーム
  2. c#

[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない

2022-01-21 13:07:42

質問

C#に入りつつあるのですが、このような問題があります。

namespace MyDataLayer
{
    namespace Section1
    {
        public class MyClass
        {
            public class MyItem
            {
                public static string Property1{ get; set; }
            }
            public static MyItem GetItem()
            {
                MyItem theItem = new MyItem();
                theItem.Property1 = "MyValue";
                return theItem;
            }
        }
     }
 }

UserControlにこのようなコードを書いています。

using MyDataLayer.Section1;

public class MyClass
{
    protected void MyMethod
    {
        MyClass.MyItem oItem = new MyClass.MyItem();
        oItem = MyClass.GetItem();
        someLiteral.Text = oItem.Property1;
    }
}

すべて正常に動作していますが、アクセスする際に Property1. インテリセンスでは、" {コード , {コード , {コード そして {コード {コード 「をオプションとして指定します。にマウスオーバーすると {コード {コード というメッセージが表示され、Visual Studioではこのように説明されます。

EqualsMyDataLayer.Section1.MyClass.MyItem.Property1.getを取得します。 GetHashCode

この意味がよくわからず、ググってみたのですがわかりませんでした。

どのように解決するのですか?

C#では、VB.NETやJavaとは異なり、アクセスする際に GetType メンバをインスタンス構文で指定します。する必要があります。

ToString

を削除してそのプロパティを参照するか oItem.Property1