Esempio n. 1
0
        public virtual object DeserializeFunction(MemoryStream memoryStream, Type type, int[][] structure)
        {
            if (structure != null)
            {
                var result = TypesConversions.Deserielize(memoryStream.ToArray(), type, structure);
                return(result);
            }

            return(BinaryFormatter.Deserialize(memoryStream));
        }
Esempio n. 2
0
        public virtual MemoryStream SerializeFunction(object obj, out int[][] structure)
        {
            MemoryStream memoryStream;
            var          type = obj.GetType();

            if (type.IsArray)
            {
                Type elementType = type.GetElementType();
                if (elementType != null && (elementType.IsPrimitive || elementType == typeof(decimal) ||
                                            (elementType.IsArray && ((elementType.GetElementType()?.IsPrimitive ?? false) || elementType.GetElementType() == typeof(decimal)))))
                {
                    var bytes = TypesConversions.Serielize(obj, out structure);
                    memoryStream = new MemoryStream(bytes);
                    return(memoryStream);
                }
            }

            memoryStream = new MemoryStream();
            BinaryFormatter.Serialize(memoryStream, obj);
            memoryStream.Position = 0;
            structure             = null;
            return(memoryStream);
        }