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;
 }
Beispiel #5
0
 public StackTypeSerializer(StrongTypedNodeEndpointSerializer serializer)
     : base(serializer)
 {
 }
Beispiel #6
0
 public QueueTypeSerializer(StrongTypedNodeEndpointSerializer serializer)
     : base(serializer)
 {
 }
Beispiel #7
0
 public HashSetTypeSerializer(StrongTypedNodeEndpointSerializer serializer)
     : base(serializer)
 {
 }
Beispiel #8
0
 public CollectionTypeSerializer(StrongTypedNodeEndpointSerializer serializer)
 {
     this.serializer = serializer;
 }