我有一个关于在 C# 中用作属性的内存使用类的问题。查看下面的代码,内存是否会在“InitSubClass()”运行之前分配给基类对象的“mySubClass”属性?
如果是这样,我想这将是相当少的,因为 SubClass.MyData 字典没有初始化,但仍然比什么都没有......这完全是“扩展”基类(不派生额外的类)的一种体面的方式吗?我试图保持一个相当基本的基类。但是,对于某些操作,我需要额外的属性,我只想存在很短的时间,否则不占用内存。
非常感谢您提供正确方向的指示!
class BaseClass
{
private SubClass mySubClass;
public SubClass MySubClass
{
get
{
return mySubClass;
}
}
void InitSubClass()
{
mySubClass = new SubClass(this);
}
}
class SubClass
{
BaseClass mybaseClass
{
get; set;
}
//a lot, and potentially fairly heavy properties which I only need for a short duration, e.g.
Disctionary<int,object MyData;
public Subclass(BaseClass myBaseClass_in)
{
mybaseClass = myBalseClass_in;
}
}