如何在C#中访问内部对象的属性

Bor*_*ris 1 c# oop

我有对象Item,它有数据对象.为了访问Data的属性,我使用以下代码:

Item.Data.PropertyName
Run Code Online (Sandbox Code Playgroud)

C#中的任何方式都可以通过以下方式访问Data的属性:

Item.PropertyName
Run Code Online (Sandbox Code Playgroud)

没有复制属性到"项目"对象?

Item类的示例:

class Item{

    public DataObject Data;
    public AnotherDataObject Data1;
    public AnotherDataObject Data2;
}
class DataObject{
    public int Property1;
    public int Property2; 
    .....
}
class DataObject1{.....}
......
Run Code Online (Sandbox Code Playgroud)

其他DataObjects classess类似于DataObject Implementation

Roh*_*ats 6

是的,通过在Item课堂上使用包装属性来return PropertyName of Data分类 -

public string PropertyName
{
   get
   {
      return this.Data.PropertyName;
   }
   set
   {
      this.Data.PropertyName = value; 
   }
}
Run Code Online (Sandbox Code Playgroud)

这样你就可以写了Item.PropertyName.

  • 您不必使用`this`作为属性名称的前缀.这是多余的,只会使代码混乱.实际上,代码辅助的领导者Resharper默认将这些标记为可以使用重构的.鉴于在现代,我们有智能感知和代码导航这样的东西,只要我们坚持理智的命名惯例,根本不需要这样做. (2认同)