0

2 つのプロパティ名を文字列として持つクラス Category があります。

このクラスを使用する他のクラスがあります。

Public Class Myclass
{
      public virtual Category Category
    {
        get;
        set;
    }
}

Myclass のオブジェクトがあります。このオブジェクトのカテゴリ プロパティに文字列値を設定します。

Myclass cls=new Myclass();
cls.Category=// a string value

これを設定するには?

4

4 に答える 4

2

あなたの例から:

Public Class Myclass
{
      public virtual Category Category
    {
        get;
        set;
    }
}

私はあなたがこれを意味すると思っています:

Public Class Myclass
{
      public string Category { get; set; } // variable
      public MyClass() {}  //<- empty constructor-might be created by default .. but I like to put them in
}

次に呼び出します。

Myclass cls=new Myclass();
cls.Category= "text here";

Category変数の型が文字列ではないように見えCategoryますか?

使用したいカテゴリタイプがすでにどこかにある場合を除きます。

お役に立てれば!

于 2012-11-17T07:39:36.977 に答える
2

たとえば、これらの文字列プロパティの 1 つが "Name" の場合、次のように設定します。

Myclass cls=new Myclass();
cls.Category = new Category();
cls.Category.Name = "CategoryName1";

Nameプロパティは、呼び出し元のコード (例: ) からアクセスできる必要があることに注意してくださいpublic

または、次のように書くこともできます。

Myclass cls=new Myclass();
cls.Category = new Category {Name = "CategoryName1"};
于 2012-11-17T07:39:46.427 に答える
1

これはあなたが意味したものですか?

public class Category
{
   public string Name { get; set; }
   public string Description { get; set; }
}


Category myCategory = new Category();
myCategory.Category.Name = "Basketball";
myCategory.Category.Description = "Played Indoors";


チュートリアル リファレンス:以下は、プロパティとクラスの理解に役立ついくつかの例です。

チュートリアル 1

チュートリアル 2

于 2012-11-17T07:35:01.927 に答える
1

文字列値を非文字列フィールドに設定することはできません。ただし、クラス インスタンス内でその文字列が必要な場合は、次のように記述できます。

public class MyClass
{
    public Category Category { get; set; }
}

public class Category
{
    public Category(string name)
    {
        Name = name;
    }

    public string Name { get; set; }
}

次に、MyClass の Category フィールドを次のように宣言します。

var cls = new MyClass();
cls.Category = new Category("hello");
于 2012-11-17T07:40:33.133 に答える