更新当前对象类中父类的集合

时间:2018-06-11 17:42:42

标签: c# oop

假设我有两个班级:

class Folder
{
    public  List<File> AssociatedFiles { get; set; }
}

class File
{
    void Update()
    {
        //How to update parent class and add items to the list
        // Something like AssociatedFiles.Add(...); which obviously I can't
    }
}

现在,我想说我想打电话:

myFolder.AssociatedFiles.Update();

并更新myFolder类的Folder的AssociatedFiles。

这可能是OOP的基础,但我正试图抓住它。

1 个答案:

答案 0 :(得分:3)

您可能希望向File类中的文件夹添加反向引用。

class Folder

{
    public  List<File> AssociatedFiles { get; set; }
}

class File
{
    public Folder ParentFolder {get; set;}
    //create a constructor that takes the folder as a parameter
    public class File(Folder myFolder) {this.ParentFolder = myFolder;}
    void Update()
    {
        this.ParentFolder.AssociatedFiles.Add()
    }
}

现在,当您初始化文件时,不是调用File()而是调用File(文件夹)并将其传递给文件夹。