public static Subscription NewSubscription(Guid subscriber, SubscribeableObject obj, string property, out string result) { System.Reflection.PropertyInfo propInfo = obj.GetType().GetProperty(property); if (propInfo == null) { result = "unrecognized property name"; return(null); } result = "success"; return(new Subscription(subscriber, obj, property)); }
public void RemoveSubscription(Guid subscriber, SubscribeableObject obj, string property) { Subscription subToRemove = null; foreach (Subscription sub in Subscriptions) { if (sub.Subscriber == subscriber && sub.Trigger.Obj == obj && sub.Trigger.Property == property) { subToRemove = sub; break; } } if (subToRemove != null) { subToRemove.Triggered -= SubscriptionTriggerHandler; Subscriptions.Remove(subToRemove); subToRemove.Dispose(); } subToRemove = null; }