使用类作为属性?

时间:2009-07-27 05:59:23

标签: c#

我们如何使用一个类,它作为属性在另一个类中?我只想要理论上的解释和一个小例子。

6 个答案:

答案 0 :(得分:2)

您的意思是用作属性类型的嵌套类?只要属性的访问修饰符最多与属性类型一样具有限制性,您就可以执行此操作。

如果您能看到该属性,您应该能够访问该类型。

答案 1 :(得分:2)

您可以将嵌套类型用作属性,但如果它们位于同一个类中,则它们不能具有相同的名称:

public class Invalid
{
    public Nested Nested { get { return null; } }        
    public class Nested {}
}

public class Valid
{
    public Nested NestedFoo { get { return null; } }        
    public class Nested {}
}

答案 2 :(得分:1)

public class Foo{ 
    public string Name;
}

public class Bar{
    public Foo MyFoo{ get; set; }
}

答案 3 :(得分:0)

B类嵌套在A类中,我们在A类中有一个属性BProperty,它给出了一个B类实例。

public class A
{
    public class B
    {
        string m_b1;
        public string B1
        {
            get { return m_b1; }
            set { m_b1 = value; }
        }
    }
    B m_b = new B();
    public A()
    {
        m_b.B1 = "Hello World";
    }

    public B BProperty
    {
        get { return m_b; }
        set { m_b = value; }
    }
}

class Program
{
    static void Main(string[] args)
    {
        A a = new A();
        Console.WriteLine(a.BProperty.B1);
    }
}

答案 4 :(得分:0)

假设您有一个类(模型),这是一种联系其他类的方法。 所以你应该在模型中有这些类的定义(属性)。 我在我的应用程序中使用这个理论。你可以把这个模型想象成一个大家庭的父亲,他可以命令别人去做特定的任务。

Public Class Father
{
 private Child _Child=null;
 public Child Child
 {
   get{
       if(_Child==null) _Child=new Child();
       return _Child;
      }
 }
}
Public Class Child
{
  Public void StudyLessons()
  {
   .....
  }

}

答案 5 :(得分:0)

您提到在TeachersStudents之间建立关系(希望是合适的关系)。

这可以是私人学费的一对一,如果学生与老师一起上课,也可以是一对一,如果学生参加几个班级,可以是多对多。

顺便说一句,告诉你的老师这是一个不好的例子,因为它太模糊了,因为“类”这个词是一个噩梦的域名术语,因为OO中class这个词的现有含义。