0

我有一个类类别,其中有两个属性名称作为字符串。

并有一个使用这个类的其他类。

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

例如,如果这些字符串属性之一是“名称”,那么您只需将其设置为:

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 回答