protected ProxyType Create(Type type) { lock (_lock) { ProxyType proxyType = new ProxyType(type, this); this.types.Add(type, proxyType); return(proxyType); } }
public void Register(IProxyMethodInfo info) { if (info == null) { return; } ProxyType proxyType = GetProxyType(info.DeclaringType); proxyType.Add(info); }
public void Unregister(IProxyMemberInfo proxyMemberInfo) { if (proxyMemberInfo == null) { return; } ProxyType proxyType = this.GetType(proxyMemberInfo.DeclaringType); proxyType.Unregister(proxyMemberInfo); }
internal ProxyType GetProxyType(Type type) { ProxyType proxyType; if (types.TryGetValue(type, out proxyType)) { return(proxyType); } proxyType = new ProxyType(type, this); types[type] = proxyType; return(proxyType); }