[英]c# parent-child property protection
这是两个具有父/子关系的类(摘自Unity3D)
public class GameObject
{
...
public T AddComponent<T>() where T : Component;
...
}
public class Component
{
...
public GameObject gameObject { get; }
...
}
由于只有getter是公开的,因此他们如何实现设置Component gameObject字段的值? (在使用GameObject的Component类中没有其他方法)
我之所以这样问,是因为我使用的是同一类型的设计,并且想将设置器设为私有。
谢谢
它可能有一个internal
设置器,或者可能是将GameObject
传递给了构造函数并在那里设置了? 或者它可以使用反射直接设置字段(或调用其他方式不可用的访问器),但我对此表示怀疑。
将组件添加到GameObject时,很可能是一个内部设置器,用于分配组件的parent(GameObject)。 因此,在这种情况下,设置组件GameObject的唯一方法是将组件添加到GameObject。
您可以将其与winForms进行比较,如果您将子控件添加到父控件的控件集合中,则会为您设置子控件的父控件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.