如何设计具有嵌套属性的类。例如instance.property1.property2。
请用c#中的小代码讨论这个,结果类将具有嵌套属性。 感谢
答案 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;