private void onAssign(RAIS_R r, object data) { OM_Assign e = (OM_Assign)data; PropertyInfo pi = r.Instance.GetType().GetProperty(e.PropertyName); pi.SetValue(r.Instance, e.Value, e.Indexer); }
public override void LoadMap(XmlNode node, Assembly typeProvider) { base.LoadMap(node, typeProvider); //load I/S foreach (XmlNode nd in node.ChildNodes) { if (nd.Name == RAIS.XML_I) //I { foreach (XmlNode nd1 in nd.ChildNodes) { RAIS_R r = new RAIS_R((RAIS_A)this); r.LoadMap(nd1, typeProvider); AddI(r); } } else if (nd.Name == XML_S) //S { foreach (XmlNode nd1 in nd.ChildNodes) { RAIS_A t = new RAIS_A((RAIS_A)this); t.LoadMap(nd1, typeProvider); AddS(t); } } } }
private void onRemoveEventHandler(RAIS_R r, object data) { OM_EventData e = (OM_EventData)data; EventInfo ei = r.Instance.GetType().GetEvent(e.EventName); ei.RemoveEventHandler(r.Instance, e.Handler); }
private void onInvoke(RAIS_R r, object data) { OM_Invoke e = (OM_Invoke)data; MethodInfo mi = r.Instance.GetType().GetMethod(e.MethodName); mi.Invoke(r.Instance, e.Parameters); }
public RAIS_R AddR(object instance, string name) { RAIS_R r = new RAIS_R(name, instance, this); AddR(r); return(r); }
protected void AddR(RAIS_R r) { if (_r == null) { _r = new List <RAIS_R>(); } _r.Add(r); }
protected void AddI(RAIS_R r) { if (_i == null) { _i = new List <RAIS_R>(); } _i.Add(r); }
/// <summary> /// populate the object map by loading XML. /// </summary> /// <param name="node"></param> public virtual void LoadMap(XmlNode node, Assembly typeProvider) { this.Name = GetAttribute(node, RAIS.XMLATT_NAME); string s = GetAttribute(node, RAIS.TYPE); this.Type = typeProvider.GetType(s, true); //load R/A/I/S foreach (XmlNode nd in node.ChildNodes) { if (nd.Name == XML_R) //R { RAIS_R r = new RAIS_R((RAIS)this); r.LoadMap(nd, typeProvider); AddR(r); } else if (nd.Name == XML_A) //A { RAIS_A t = new RAIS_A((RAIS)this); t.LoadMap(nd, typeProvider); AddA(t); } } }
public RAIS_R CreateI(string name) { object instance = Activator.CreateInstance(this.Type); IComponent ic = instance as IComponent; if (ic != null) { if (ic.Site == null) { ic.Site = new XTypeSite(ic); } if (string.IsNullOrEmpty(name)) { int n = 2; name = this.Type.Name + n.ToString(); RAIS container = this.ContainerType; if (container != null) { name = container.CreateNewName(this.Type.Name); } else { name = this.CreateNewName(this.Type.Name); } } ic.Site.Name = name; } RAIS_R r = new RAIS_R(name, instance, this); if (_i == null) { _i = new List <RAIS_R>(); } _i.Add(r); return(r); }