public IProxyEventInfo GetEvent(string name) { IProxyEventInfo info; if (this.events.TryGetValue(name, out info)) { return(info); } EventInfo eventInfo = this.type.GetEvent(name); if (eventInfo != null && eventInfo.DeclaringType.Equals(type)) { return(this.CreateProxyEventInfo(eventInfo)); } IProxyType baseTypeInfo = this.GetBase(); if (baseTypeInfo == null) { return(null); } return(baseTypeInfo.GetEvent(name)); }
public static IProxyEventInfo AsProxy(this EventInfo info) { IProxyType proxyType = factory.Get(info.DeclaringType); return proxyType.GetEvent(info.Name); }