public bool ItemAddedOrRemoved <TVal>(Expression <Func <TObj, IList <TVal> > > propertyLambda, out IAmItemEventMessage <TObj, TVal> cmessage) => ItemAddedOrRemoved(GetPropNameFromLambda(propertyLambda), out cmessage);
public bool ItemAddedOrRemoved <TVal>(string propertyName, out IAmItemEventMessage <TObj, TVal> cmessage) { cmessage = message as IAmItemEventMessage <TObj, TVal>; return(ObjectIsSuitable(message.Object) && cmessage?.Binding.PropertyName == propertyName); }