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); } }
/// <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); }
/// <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); } }
/// <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); } }
/// <summary> /// Get the value as an object. /// </summary> /// <returns>The value as an object.</returns> public object getValue() { return(propertyInfo.getValue(instance, null)); }
/// <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); }