c# - Subscribe to event of an object which is not yet created? -


well doubt if possible, maybe after maybe. want subscribe event when program initialize object created long after form load. @ time of subscription, object null, later created. possible update object event fire?

in form_load, subscribe this

  this.mediacenter.itemmanager.root.setprogressbar += (val) =>          {               this.invoke((action)(() =>             {                 this.progressbarcontrol1.position = val;             }));         }; 

in item manager, object null during form load

   private itemcontainerroot _myroot;         public itemcontainerroot root         {             { return this._myroot; }         } 

later database object

this._myroot = context.gettable<item>().single(a => a.id == 0) itemcontainerroot; 

try this:

in class library notify when root property changes , use property (not field) everywhere.

class itemmanager : inotifypropertychanged {     private itemcontainerroot _myroot;     public itemcontainerroot root     {         { return _myroot; }          set         {             _myroot = value;             onpropertychanged("root");         }     }      public event propertychangedeventhandler propertychanged;      protected virtual void onpropertychanged(string propertyname)     {         propertychangedeventhandler handler = propertychanged;         if (handler != null)         {             handler(this, new propertychangedeventargs(propertyname));         }     } }     

in ui subscribe property changed event of itemmanager after initialization:

itemmanager.propertychanged += (o, args) => {      if (args.propertyname == "root" && itemmanager.root != null)      {           itemmanager.root.setprogressbar += (val) =>           {                this.invoke((action)(() =>                {                     this.progressbarcontrol1.position = val;                }));           };      } }; 

Comments