Esempio n. 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="IwSerialise"/> class.
 /// </summary>
 /// <param name="stream">
 /// The stream.
 /// </param>
 /// <param name="mode">
 /// The mode.
 /// </param>
 /// <param name="classRegistry">
 /// The class Registry.
 /// </param>
 /// <param name="resourceResolver">
 /// The resource Resolver.
 /// </param>
 public IwSerialise(
     Stream stream, IwSerialiseMode mode, ClassRegistry classRegistry, IResourceResolver resourceResolver)
 {
     this.stream           = stream;
     this.mode             = mode;
     this.classRegistry    = classRegistry;
     this.resourceResolver = resourceResolver;
 }
Esempio n. 2
0
        /// <summary>
        /// The open.
        /// </summary>
        /// <param name="filePath">
        /// The file path.
        /// </param>
        /// <param name="mode">
        /// The mode.
        /// </param>
        /// <param name="classRegistry">
        /// The class Registry.
        /// </param>
        /// <param name="resourceResolver">
        /// The resource Resolver.
        /// </param>
        /// <param name="ram">
        /// The ram.
        /// </param>
        /// <returns>
        /// </returns>
        /// <exception cref="ArgumentOutOfRangeException">
        /// </exception>
        public static IwSerialise Open(
            string filePath,
            IwSerialiseMode mode,
            ClassRegistry classRegistry,
            IResourceResolver resourceResolver,
            bool ram = false)
        {
            switch (mode)
            {
            case IwSerialiseMode.Read:
                return(new IwSerialise(
                           File.OpenRead(resourceResolver.ResolveFilePath(filePath, ram)), mode, classRegistry, resourceResolver));

            case IwSerialiseMode.Write:
                return(new IwSerialise(
                           File.OpenWrite(resourceResolver.ResolveFilePath(filePath, ram)), mode, classRegistry, resourceResolver));

            default:
                throw new ArgumentOutOfRangeException("mode");
            }
        }