mal som pochybnosti, predpokladám v mojej triede (povedzme(napr. iná trieda ako príklad, nazývam ju vnútornú triedu), v čase spustenia, kedy je objekt objektu obsahujúci triedu vytvorený na halde, obsahuje triedu ukladá celú vnútornú triedy objekt v ňom, alebo obsahujúce triedu ukladá odkaz vnútornej triedy v ňom?
internal class ContaingClass
{
private InnerClass objInner;
}
by namiesto toho, aby objekt ContainingClass odkazoval na objInner alebo ukladá celý objInner so všetkými dátami v ňom?
odpovede:
1 pre odpoveď č. 1Kedy InnerClass
je referenčný typ, ktorý je uložený ako opis inštancie.
Tu je odpoveď od Erica Lipperta, ktorý vysvetľuje podrobnosti o tom, čo sa deje počas popravy.
1 pre odpoveď č. 2
Pri konštrukcii by obsahovala nulovú hodnotuodkaz na pole (za predpokladu, že váš konštruktér nie je nastavený na nič) Pole by neskôr mohlo byť priradené k odkazu na inštanciu, ale "obsah" tejto inštancie by nebol uložený vo vnútri obsahu "Content".