コード例 #1
0
 public static void AddManipulator(IValueManipulator valueManipulator)
 {
     lock (ValueManipulators)
     {
         ValueManipulators.Add(valueManipulator);
     }
 }
コード例 #2
0
 public static void AddManipulator(IValueManipulator valueManipulator)
 {
     lock (ValueManipulators)
     {
         ValueManipulators.Add(valueManipulator);
     }
 }
コード例 #3
0
        /// <summary>
        /// Set the property value into the passed entry object.
        /// </summary>
        /// <param name="entry">
        /// The entry object.
        /// </param>
        /// <param name="value">
        /// A new property value.
        /// </param>
        /// <seealso cref="IValueUpdater.Update"/>
        protected virtual void Set(IInvocableCacheEntry entry, object value)
        {
            IValueManipulator manipulator = m_manipulator;

            if (m_manipulator != null)
            {
                IValueUpdater updater = manipulator.Updater;
                if (updater != null)
                {
                    entry.Update(updater, value);
                    return;
                }
            }
            entry.SetValue(value, false);
        }
コード例 #4
0
        /// <summary>
        /// Get the property value from the passed entry object.
        /// </summary>
        /// <param name="entry">
        /// The Entry object.
        /// </param>
        /// <returns>
        /// The property value.
        /// </returns>
        /// <seealso cref="IValueExtractor.Extract"/>
        protected virtual object Get(IInvocableCacheEntry entry)
        {
            IValueManipulator manipulator = m_manipulator;

            if (manipulator != null)
            {
                IValueExtractor extractor = manipulator.Extractor;
                if (extractor == null)
                {
                    throw new InvalidOperationException("The IValueManipulator ("
                                                        + manipulator + ") failed to provide an IValueExtractor");
                }
                else
                {
                    return(entry.Extract(extractor));
                }
            }
            return(entry.Value);
        }
コード例 #5
0
 public void AddValueManipulator(IValueManipulator valueManipulator)
 {
     ValueCommandHelper.AddManipulator(valueManipulator);    
 }
コード例 #6
0
 public void AddValueManipulator(IValueManipulator valueManipulator)
 {
     ValueCommandHelper.AddManipulator(valueManipulator);
 }