public static CreateIOWrapper ( RespondToStorage respondToStorage, object io, FileAccess access ) : |
||
respondToStorage | RespondToStorage | |
io | object | |
access | FileAccess | |
리턴 |
public static object Load(ReaderSites /*!*/ sites, RespondToStorage /*!*/ respondToStorage, RubyScope /*!*/ scope, RubyModule /*!*/ self, object source, [Optional] Proc proc) { Stream stream = null; if (source != null) { stream = RubyIOOps.CreateIOWrapper(respondToStorage, source, FileAccess.Read); } if (stream == null || !stream.CanRead) { throw RubyExceptions.CreateTypeError("instance of IO needed"); } BinaryReader reader = new BinaryReader(stream); MarshalReader loader = new MarshalReader(sites, reader, scope.GlobalScope, proc); return(loader.Load()); }
public static object Dump(WriterSites /*!*/ sites, RespondToStorage /*!*/ respondToStorage, RubyModule /*!*/ self, object obj, object io, [Optional] int?limit) { Stream stream = null; if (io != null) { stream = RubyIOOps.CreateIOWrapper(respondToStorage, io, FileAccess.Write); } if (stream == null || !stream.CanWrite) { throw RubyExceptions.CreateTypeError("instance of IO needed"); } BinaryWriter writer = new BinaryWriter(stream); MarshalWriter dumper = new MarshalWriter(sites, writer, self.Context, limit); dumper.Dump(obj); return(io); }