c# - Is there a MemoryLeak? -



c# - Is there a MemoryLeak? -

i load list of liefitems.

list<liefitem> list = this.loadliefitems();

liefitem implementing inotifypropertychanged on way:

public event propertychangedeventhandler propertychanged; [notifypropertychangedinvocator] protected virtual void onpropertychanged(string propertyname) { propertychangedeventhandler handler = propertychanged; if (handler != null) { handler(this, new propertychangedeventargs(propertyname)); } }

after loading list, subscribing propertychanged:

foreach(var item in list) { item.propertychanged += itemonpropertychanged; }

after, list used itemssource of datagrid.

i asking me now, if load list sec time , set new list itemssource of datagrid, first loaded items removed memory or have memoryleak because subscribing propertychanged , don't unsubscribe?

no memory leak there.

c# events implement subject-observer pattern underneath.

when event raised, happens underneath phone call fellow member method of object registered event.

so, if like:

item.propertychanged += itemonpropertychanged;

this equivalent to:

item.propertychanged += this.itemonpropertychanged;

and when event triggered, there's invocation of method:

registeredobject.itemonpropertychanged(propertyname);

this means reference stored object registered event. not object raises event.

c# wpf memory-leaks datagrid

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -