public void CollectElementsToProxy(IProxyGenerationHook hook, MetaType model) { foreach (var collector in CollectElementsToProxyInternal(hook)) { foreach (var method in collector.Methods) { if (!IsInterceptable(collector, method.Method)) { continue; } model.AddMethod(method); methods.Add(method); } foreach (var @event in collector.Events) { if (!IsInterceptable(collector, @event.Event)) { continue; } model.AddEvent(@event); events.Add(@event); } foreach (var property in collector.Properties) { if (!IsInterceptable(collector, property.Property)) { continue; } model.AddProperty(property); properties.Add(property); foreach (var method in collector.Methods .Where(m => (property.CanRead && m.Method == property.GetMethod) || (property.CanWrite && m.Method == property.SetMethod))) { model.AddMethod(method); methods.Add(method); } } } }
public void CollectElementsToProxy(IProxyGenerationHook hook, MetaType model) { foreach (var collector in CollectElementsToProxyInternal(hook)) { foreach (var method in collector.Methods) { model.AddMethod(method); methods.Add(method); } foreach (var @event in collector.Events) { model.AddEvent(@event); events.Add(@event); } foreach (var property in collector.Properties) { model.AddProperty(property); properties.Add(property); } } }
public void Add(MetaMethod method) { model.AddMethod(method); contributor.methods.Add(method); }