public object MapValue(Type plainNetType, OpenType mappedType, object value, MapValueDelegate mapNestedValueCallback) { if (value == null) { return(null); } Type elementType = GetElementType(plainNetType); if (mappedType.Kind == OpenTypeKind.ArrayType) { if (value.GetType().IsArray) { return(value); } else { ArrayList result = new ArrayList(); IEnumerable enumerableValue = (IEnumerable)value; foreach (object o in enumerableValue) { result.Add(o); } return(result.ToArray(elementType)); } } else { TabularType tabularType = (TabularType)mappedType; ITabularData result = new TabularDataSupport(tabularType, 0); IEnumerable enumerableValue = (IEnumerable)value; int index = 0; foreach (object o in enumerableValue) { ICompositeData element = (ICompositeData)mapNestedValueCallback(elementType, MakeElementType(tabularType.RowType), o); result.Put(MakeRowValue(element, index, tabularType.RowType)); index++; } return(result); } }
public object MapValue(Type plainNetType, OpenType mappedType, object value, MapValueDelegate mapNestedValueCallback) { if (value == null) { return null; } Type elementType = GetElementType(plainNetType); if (mappedType.Kind == OpenTypeKind.ArrayType) { if (value.GetType().IsArray) { return value; } else { ArrayList result = new ArrayList(); IEnumerable enumerableValue = (IEnumerable)value; foreach (object o in enumerableValue) { result.Add(o); } return result.ToArray(elementType); } } else { TabularType tabularType = (TabularType) mappedType; ITabularData result = new TabularDataSupport(tabularType, 0); IEnumerable enumerableValue = (IEnumerable) value; int index = 0; foreach (object o in enumerableValue) { ICompositeData element = (ICompositeData) mapNestedValueCallback(elementType, MakeElementType(tabularType.RowType), o); result.Put(MakeRowValue(element, index, tabularType.RowType)); index++; } return result; } }
public object MapValue(Type plainNetType, OpenType mappedType, object value, MapValueDelegate mapNestedValueCallback) { if (value == null) { return null; } CompositeType compositeType = (CompositeType)mappedType; Type valueType = value.GetType(); List<string> names = new List<string>(); List<object> values = new List<object>(); foreach (string itemName in compositeType.KeySet) { PropertyInfo propertyInfo = valueType.GetProperty(itemName, BindingFlags.Public | BindingFlags.Instance); object propValue = propertyInfo.GetValue(value, new object[] {}); OpenType mappedPropertyType = compositeType.GetOpenType(itemName); values.Add(mapNestedValueCallback(propertyInfo.PropertyType, mappedPropertyType, propValue)); names.Add(itemName); } return new CompositeDataSupport(compositeType, names, values); }
public object MapValue(Type plainNetType, OpenType mappedType, object value, MapValueDelegate mapNestedValueCallback) { if (value == null) { return(null); } CompositeType compositeType = (CompositeType)mappedType; Type valueType = value.GetType(); List <string> names = new List <string>(); List <object> values = new List <object>(); foreach (string itemName in compositeType.KeySet) { PropertyInfo propertyInfo = valueType.GetProperty(itemName, BindingFlags.Public | BindingFlags.Instance); object propValue = propertyInfo.GetValue(value, new object[] {}); OpenType mappedPropertyType = compositeType.GetOpenType(itemName); values.Add(mapNestedValueCallback(propertyInfo.PropertyType, mappedPropertyType, propValue)); names.Add(itemName); } return(new CompositeDataSupport(compositeType, names, values)); }
public object MapValue(Type plainNetType, OpenType mappedType, object value, MapValueDelegate mapNestedValueCallback) { return(string.Format(CultureInfo.InvariantCulture, "{0} ({1})", value, Convert.ToUInt32(value))); }
public object MapValue(Type plainNetType, OpenType mappedType, object value, MapValueDelegate mapNestedValueCallback) { return value; }
public object MapValue(Type plainNetType, OpenType mappedType, object value, MapValueDelegate mapNestedValueCallback) { return(value); }