假设我有两个班级:
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的基础,但我正试图抓住它。
答案 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(文件夹)并将其传递给文件夹。