从组合 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方法里面。
请原谅我,因为我知道我的措辞很糟糕。我只是举个例子。
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方法里面。