从组合 class 访问 Parent/Owning class 变量?

Access Parent/Owning class variable from composed class?

请原谅我,因为我知道我的措辞很糟糕。我只是举个例子。

public class MainClass{
    public int someVariable;
    public List<HasAClass> cList = new List<HasAClass>();

    addHasAClass(HasAClass c){
        cList.Add(c);
    }

}
public class HasAClass{
    public HasAClass(){
        //Modify someVariable in some way????
    }
}
public class HasASubClass : HasAClass{
    public ComposedClass(){
        //Modify someVariable in some way???
    }
}

我无法为这个问题找到合适的词,但这是我正在尝试做的事情: 我正在为类似于龙与地下城的角色扮演游戏创建一个辅助工具。每个角色都可以拥有多种特殊能力,这些能力可以以某种方式(消极和积极)影响角色。我正在尝试使用各种存储相关信息并在不同时间点添加到角色的 subclasses 来做到这一点。我无法弄清楚的是如何在添加 HasA class 实例时修改角色的属性(在我的示例中我将其称为 Main Class)。

HasAClass 需要对拥有实例的引用,以便它可以向父级请求值并在需要时更新它们...

public class HasAClass
{
    private MainClass _mainClass;
    public HasAClass(MainClass mainClass)
    {
        _mainClass = mainClass;
        _mainClass.someVaraible = 42;
    }
}

然后您需要在创建它们时将所有者引用传递给 HasAClass 的构造函数。如果在创建实例时无法做到这一点,那么您需要在创建实例后将其分配为 属性。比如在addHasAClass方法里面。