如何设计具有嵌套属性的类? C#

时间:2011-04-06 06:34:29

标签: c#

如何设计具有嵌套属性的类。例如instance.property1.property2。

请用c#中的小代码讨论这个,结果类将具有嵌套属性。 感谢

4 个答案:

答案 0 :(得分:2)

你需要第一个属性返回的东西才能获得第二个属性。

class Class1
{
    public Class2 property1
    {
        get
        {
            return new Class2();
        }
    }
}

class Class2
{
    public some_type property2
    {
        get
        {
            return some_value;
        }
    }
}

Class1.property1.property2将在这里工作。

据说,我不知道你需要瞄准这种语法的任何情况。这通常只是你的OO结构的结果。另外,像这样的嵌套属性调用会产生很小的开销,这是不必要的(每次访问时都会调用代码,禁止任何编译时优化)

答案 1 :(得分:1)

尝试使用具有静态或常量属性的嵌套类:

public class A    {
        public class B
        {
            public constant string C = "something";
        }
}

然后,访问:A a = new A(); a.B.C ==“某事”

答案 2 :(得分:1)

例如:

class A
{
  public B B { get; set; }
}

class B
{
  public string C { get; set; }
}

然后

A.B.C = "Something";

答案 3 :(得分:1)

您可以使用不同的类:

public class MainClass
{
   public SampleProp property1 {get;set;}
}
public class SampleProp
{
   public string property2 {get;set;}
}

MainClass test = new MainClass();
var prop = test.property1.property2;