public static bool operator !=(QName left, QName right) { return(!ObjectUtil.Equals(left, right)); }
public static void WriteObject(IObjectSerializer serializer, object writer, object receiver, string modelName, WriteSettings settings, QName root, BaseObjectAttribute attribute, object serializerData, SerializerOptions options) { Type type = receiver.GetType(); if (receiver is IDictionary) { BaseDictionaryAttribute attr = attribute as BaseDictionaryAttribute; options.CheckWriteDictionary(serializer, attr); if (attr == null) { attr = GetDictionaryAttribute(receiver, root); } serializer.WriteDictionary(writer, receiver.Convert <IDictionary>(), attr, modelName, settings, root, serializerData); } else if (type.IsArray || receiver is IList) { SimpleElementAttribute attr = attribute as SimpleElementAttribute; options.CheckWriteList(serializer, attr); if (attr == null) { Type valueType; if (type.IsArray) { Array arr = receiver as Array; if (arr.Length == 0) { return; } var enumerator = arr.GetEnumerator(); enumerator.MoveNext(); valueType = enumerator.Current.GetType(); } else { valueType = ObjectUtil.GetListValueType(type, "", null); } attr = GetElementAttribute(receiver, valueType); } serializer.WriteList(writer, receiver.Convert <IEnumerable>(), attr, modelName, settings, root, serializerData); } else { options.CheckWriteObject(serializer); ITkTypeConverter converter = TkTypeDescriptor.GetSimpleConverter(type); if (converter != null) { SimpleElementAttribute simpleAttr = new SimpleElementAttribute { LocalName = root.LocalName, NamespaceUri = root.Namespace }; var info = new SimpleObjectPropertyInfo(receiver, type, simpleAttr, converter); serializer.WriteElement(simpleAttr, writer, receiver, settings, info, serializerData); } else { serializer.WriteObject(writer, receiver, modelName, settings, root, serializerData); } } }
public override object GetValue(object receiver) { return(ObjectUtil.GetValue(fProperty, receiver)); }
public void ReadObjectDictionary(ObjectDictionaryAttribute attribute, object reader, object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData) { DataTable table = serializerData.Convert <DataTable>(); if (table.Rows.Count != 1) { return; } DataRow row = table.Rows[0]; IDictionary dict = attribute.GetDictionary(receiver, info); foreach (DataColumn column in table.Columns) { //dict[column.ColumnName] = row[column]; object rowValue = row[column]; string xml = rowValue == DBNull.Value ? null : rowValue.ToString(); if (string.IsNullOrEmpty(xml)) { dict[column.ColumnName] = null; } else { Type objectType = info.ObjectType; object subObject = attribute.UseConstructor ? ObjectUtil.CreateObjectWithCtor(objectType) : ObjectUtil.CreateObject(objectType); subObject.ReadXml(info.ModelName, xml, settings, QName.ToolkitNoNS); dict[column.ColumnName] = subObject; } } }
public override void SetValue(object receiver, object value) { ObjectUtil.SetValue(fProperty, receiver, value); }