Beispiel #1
0
        /// <summary>
        /// Registers the member definitions.
        /// </summary>
        /// <param name="memberDefinitions">The member definitions.</param>
        private void RegisterMemberDefinitions(IEnumerable <IMemberDefinition> memberDefinitions)
        {
            lock (Callbacks)
            {
                InterceptedMembers = memberDefinitions.ToList();

                var members = InterceptedMembers.Where(member => !Callbacks.Contains(member));

                members.ForEach(member => Callbacks.Add(member, new CallbackCollection()));
            }
        }
Beispiel #2
0
        /// <summary>
        ///     Adds the specified call back.
        /// </summary>
        /// <param name="callback">The callback.</param>
        /// <exception cref="ArgumentNullException">The <paramref name="callback"/> is <c>null</c>.</exception>
        private void AddCallBack(Callback callback)
        {
            Argument.IsNotNull("callback", callback);

            lock (InterceptedMembers)
            {
                InterceptedMembers.ForEach(member => Callbacks[member].Add(callback));

                Register();
            }
        }