public DataTypeSerializer(StrongTypedNodeEndpointSerializer serializer, Type type) { this.serializer = serializer; this.type = type; this.serializer.AddSerializer(this); foreach (var fieldInfo in this.type .GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) .Where(f => f.GetCustomAttributes(typeof(NodeEndpointDataMemberAttribute), false).Length > 0) ) { if (!this.serializableFields.ContainsKey(fieldInfo.Name)) { this.serializableFields.Add(fieldInfo.Name, fieldInfo); this.serializer.AddDefaultSerializer(fieldInfo.FieldType); } } foreach (var propertyInfo in this.type .GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) .Where(f => f.GetCustomAttributes(typeof(NodeEndpointDataMemberAttribute), false).Length > 0) ) { if (!this.serializableProperties.ContainsKey(propertyInfo.Name)) { this.serializableProperties.Add(propertyInfo.Name, propertyInfo); this.serializer.AddDefaultSerializer(propertyInfo.PropertyType); } } }
public SortedListTypeSerializer(StrongTypedNodeEndpointSerializer serializer) : base(serializer) { }
public SortedDictionaryTypeSerializer(StrongTypedNodeEndpointSerializer serializer) : base(serializer) { }
public MapTypeSerializer(StrongTypedNodeEndpointSerializer serializer) { this.serializer = serializer; }
public StackTypeSerializer(StrongTypedNodeEndpointSerializer serializer) : base(serializer) { }
public QueueTypeSerializer(StrongTypedNodeEndpointSerializer serializer) : base(serializer) { }
public HashSetTypeSerializer(StrongTypedNodeEndpointSerializer serializer) : base(serializer) { }
public CollectionTypeSerializer(StrongTypedNodeEndpointSerializer serializer) { this.serializer = serializer; }