Пример #1
0
        public string getValue(int column)
        {
            switch (column)
            {
            case 0:
                return(name);

            case 1:
                Object value = propertyInfo.getValue(instance, null);
                if (value != null)
                {
                    return(value.ToString());
                }
                return(null);

            default:
                return(null);
            }
        }
Пример #2
0
        /// <summary>
        /// Copy the values from source into destination.
        /// </summary>
        /// <param name="source">The source collection.</param>
        /// <param name="destination">The destination collection.</param>
        /// <param name="info">The member wrapper to set the info.</param>
        internal override void copyValue(object source, object destination, MemberWrapper info, CopyFilter filter)
        {
            ICollection <T> sourceCollection      = (ICollection <T>)info.getValue(source, null);
            ICollection <T> destinationCollection = (ICollection <T>)System.Activator.CreateInstance(sourceCollection.GetType());
            MemberCopier    copier = MemberCopier.getCopyClass(sourceCollection.GetType().GetGenericArguments()[0]);

            foreach (T item in sourceCollection)
            {
                Object newObj = copier.createCopy(item, filter);
                destinationCollection.Add((T)newObj);
            }
            info.setValue(destination, destinationCollection, null);
        }
Пример #3
0
        /// <summary>
        /// This function will copy all the values from source into object.
        /// </summary>
        /// <param name="source">The source object.</param>
        /// <param name="destination">The destination object.</param>
        /// <param name="info">The member wrapper that allows the values to be set.</param>
        internal override void copyValue(object source, object destination, MemberWrapper info, CopyFilter filter)
        {
            Object deepCopySource;
            Object deepCopyDestination;

            //Find the source and destination objects if no info is provided use the given objects
            if (info != null)
            {
                deepCopySource      = info.getValue(source, null);
                deepCopyDestination = info.getValue(destination, null);
            }
            else
            {
                deepCopySource      = source;
                deepCopyDestination = destination;
            }
            //Validate that there is a source.
            if (deepCopySource != null)
            {
                performCopy(destination, info, deepCopySource, deepCopyDestination, filter);
            }
        }
Пример #4
0
        /// <summary>
        /// Copy source into destination.
        /// </summary>
        /// <param name="source">The source dictionary.</param>
        /// <param name="destination">The destination dictionary.</param>
        /// <param name="info">The member wrapper to set data.</param>
        internal override void copyValue(object source, object destination, MemberWrapper info, CopyFilter filter)
        {
            IDictionary <Key, Value> sourceDictionary = (IDictionary <Key, Value>)info.getValue(source, null);

            if (sourceDictionary != null)
            {
                Type dictionaryType = sourceDictionary.GetType();
                IDictionary <Key, Value> destDictionary = (IDictionary <Key, Value>)System.Activator.CreateInstance(dictionaryType);
                Type[]       keyValueTypes = dictionaryType.GetGenericArguments();
                MemberCopier keyCopier     = MemberCopier.getCopyClass(keyValueTypes[0]);
                MemberCopier valueCopier   = MemberCopier.getCopyClass(keyValueTypes[1]);
                foreach (Key key in sourceDictionary.Keys)
                {
                    Key   copiedKey   = (Key)keyCopier.createCopy(key, filter);
                    Value copiedValue = (Value)valueCopier.createCopy(sourceDictionary[key], filter);
                    destDictionary.Add(copiedKey, copiedValue);
                }
                info.setValue(destination, destDictionary, null);
            }
        }
Пример #5
0
 /// <summary>
 /// Get the value as an object.
 /// </summary>
 /// <returns>The value as an object.</returns>
 public object getValue()
 {
     return(propertyInfo.getValue(instance, null));
 }
Пример #6
0
 /// <summary>
 /// Copy source to destination.
 /// </summary>
 /// <param name="source">The source object.</param>
 /// <param name="destination">The destination object.</param>
 /// <param name="info">The info to use to set the value.</param>
 internal override void copyValue(object source, object destination, MemberWrapper info, CopyFilter filter)
 {
     info.setValue(destination, info.getValue(source, null), null);
 }