C# Stream.GetType的代码示例
通过代码示例来学习C# Stream.GetType方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
Stream.GetType是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的Stream.GetType() 已经帮大家高亮显示了,大家可以重点学习Stream.GetType() 方法的写法,从而快速掌握该方法的应用。
Stream.GetType的代码示例1 - TryCopyBlob()
using System.IO; public virtual bool TryCopyBlob(string sha, Action
writeAction) { IntPtr objHandle; if (Native.RevParseSingle(out objHandle, this.RepoHandle, sha) != Native.SuccessCode) { return false; } try { unsafe { switch (Native.Object.GetType(objHandle)) { case Native.ObjectTypes.Blob: byte* originalData = Native.Blob.GetRawContent(objHandle); long originalSize = Native.Blob.GetRawSize(objHandle); // TODO 938696: UnmanagedMemoryStream marshals content even for CopyTo // If GetRawContent changed to return IntPtr and ProjFS changed WriteBuffer to expose an IntPtr, // We could probably pinvoke memcpy and avoid marshalling. using (Stream mem = new UnmanagedMemoryStream(originalData, originalSize)) { writeAction(mem, originalSize); } break; default: throw new NotSupportedException("Copying object types other than blobs is not supported."); } } } finally { Native.Object.Free(objHandle); } return true; }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:41,代码来源:LibGit2Repo.cs
在TryCopyBlob()方法中,Stream的代码示例类中的GetType的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.GetType的代码示例2 - CheckFileFormatType()
using System.IO; public static Type CheckFileFormatType(string FileName, Type[] FileTypes, byte[] data = null) { //Todo. Create a compression list like IFileFormat to decompress via an Identiy method data = CheckCompression(FileName, data); Stream stream; if (data != null) stream = new MemoryStream(data); else stream = File.OpenRead(FileName); foreach (IFileFormat fileFormat in FileManager.GetFileFormats()) { fileFormat.FileName = Path.GetFileName(FileName); foreach (Type type in FileTypes) { if (fileFormat.Identify(stream) && fileFormat.GetType() == type) return type; } } return typeof(IFileFormat); }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:26,代码来源:STFileLoader.cs
在CheckFileFormatType()方法中,Stream的代码示例类中的GetType的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.GetType的代码示例3 - XmlSerialize()
using System.IO; #region XmlSerialize Overloads public static void XmlSerialize(Stream sr, object target, XmlWriterSettings xws = null, byte[] separator = null) { ChoGuard.ArgumentNotNull(sr, "Stream"); ChoGuard.ArgumentNotNull(target, "Target"); if (target.GetType().IsArray) { if (((object[])target).Length > 0) { bool first = true; foreach (object item in (object[])target) { if (separator != null) { if (!first) sr.Write(separator, 0, separator.Length); else first = false; } XmlSerialize(sr, item, xws, separator); } } return; } using (XmlWriter xtw = XmlTextWriter.Create(sr, xws ?? _xws)) { XmlSerializer serializer = ChoNullNSXmlSerializerFactory.GetXmlSerializer(target.GetType()); serializer.Serialize(xtw, target); xtw.Flush(); } }
开发者ID:Cinchoo,项目名称:ChoETL,代码行数:38,代码来源:ChoUtility.cs
在XmlSerialize()方法中,Stream的代码示例类中的GetType的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.GetType的代码示例4 - WritePair()
using System.IO; #endregion #region 原始读写名值对 ///
写入名值对 /// /// public Boolean WritePair(String name, Object value) { if (value == null) return true; var host = Host; // 检测循环引用。名值对不支持循环引用 var hs = host.Hosts.ToArray(); if (hs.Contains(value)) return true; var type = value.GetType(); Byte[] buf = null; if (value is String) buf = (value as String).GetBytes(host.Encoding); else if (value is Byte[]) buf = (Byte[])value; else { // 准备好名值对再一起写入。为了得到数据长度,需要提前计算好数据长度,所以需要临时切换数据流 var ms = Pool.MemoryStream.Get(); var old = host.Stream; host.Stream = ms; var rs = host.Write(value, type); host.Stream = old; if (!rs) return false; buf = ms.Put(true); } WriteLog(" WritePair {0}\t= {1}", name, value); // 开始写入 var key = name.GetBytes(host.Encoding); if (!host.Write(key, key.GetType())) return false; if (!host.Write(buf, buf.GetType())) return false; return true; }
开发者ID:NewLifeX,项目名称:X,代码行数:45,代码来源:BinaryPair.cs
在WritePair()方法中,Stream的代码示例类中的GetType的代码示例方法一共出现了3次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.GetType的代码示例5 - Encode()
using System.IO; #endregion #region 辅助 private Packet Encode(String sql, IDictionary
ps) { // 头部预留8字节,方便加协议头 var bn = new Binary { EncodeInt = true }; bn.Stream.Seek(8, SeekOrigin.Current); bn.Write(sql); if (ps != null && ps.Count > 0) { bn.Write(ps.Count); foreach (var item in ps) { bn.Write(item.Key); var tc = item.Value.GetType().GetTypeCode(); if (tc == TypeCode.Object) throw new NotSupportedException($"数据参数不支持类型{item.Value.GetType().FullName}"); bn.Write((Byte)tc); bn.Write(item.Value); } } var ms = bn.Stream; ms.Position = 8; return new Packet(ms); }
开发者ID:NewLifeX,项目名称:X,代码行数:32,代码来源:DbClient.cs
在Encode()方法中,Stream的代码示例类中的GetType的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.GetType的代码示例6 - Load()
using System.IO; #endregion #region 加载 ///
加载指定配置文件 /// ///public virtual Boolean Load(String filename) { if (filename.IsNullOrWhiteSpace()) return false; filename = filename.GetBasePath(); if (!File.Exists(filename)) return false; _loading = true; try { var data = File.ReadAllBytes(filename); var config = this as TConfig; //var json = new Serialization.Json //{ // Stream = new MemoryStream(data), // UseProperty = true, // Indented = true //}; //if (_.Debug) json.Log = XTrace.Log; //Object obj = config; var cfg = new FastJson().Read(data.ToStr(), config.GetType()); config.Copy(cfg); //if (!json.TryRead(GetType(), ref obj)) return false; config.ConfigFile = filename; config.SetExpire(); // 设定过期时间 config.OnLoaded(); return true; } catch (Exception ex) { XTrace.WriteException(ex); return false; } finally { _loading = false; } }
开发者ID:NewLifeX,项目名称:X,代码行数:52,代码来源:JsonConfig.cs
在Load()方法中,Stream的代码示例类中的GetType的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.GetType的代码示例7 - GetRequest()
using System.IO; ///
发出请求 /// /// /// /// 原始参数,仅用于输出日志 ///protected virtual void GetRequest(Stream ms, String cmd, Packet[] args, Object[] oriArgs) { // * \r\n$ \r\n \r\n // *1\r\n$4\r\nINFO\r\n var log = Log == null || Log == Logger.Null ? null : Pool.StringBuilder.Get(); log?.Append(cmd); /* * 一颗玲珑心 * 九天下凡尘 * 翩翩起菲舞 * 霜摧砺石开 */ // 区分有参数和无参数 if (args == null || args.Length == 0) { //var str = "*1\r\n${0}\r\n{1}\r\n".F(cmd.Length, cmd); ms.Write(GetHeaderBytes(cmd, 0)); } else { //var str = "*{2}\r\n${0}\r\n{1}\r\n".F(cmd.Length, cmd, 1 + args.Length); ms.Write(GetHeaderBytes(cmd, args.Length)); for (var i = 0; i < args.Length; i++) { var item = args[i]; var size = item.Total; var sizes = size.ToString().GetBytes(); // 指令日志。简单类型显示原始值,复杂类型显示序列化后字符串 if (log != null) { log.Append(' '); var ori = oriArgs?[i]; switch (ori.GetType().GetTypeCode()) { case TypeCode.Object: log.AppendFormat("[{0}]{1}", size, item.ToStr(null, 0, 1024)?.TrimEnd()); break; case TypeCode.DateTime: log.Append(((DateTime)ori).ToString("yyyy-MM-dd HH:mm:ss.fff")); break; default: log.Append(ori); break; } } //str = "${0}\r\n".F(item.Length); //ms.Write(str.GetBytes()); ms.WriteByte((Byte)'$'); ms.Write(sizes); ms.Write(_NewLine); //ms.Write(item); item.CopyTo(ms); ms.Write(_NewLine); } } if (log != null) WriteLog("=> {0}", log.Put(true)); }
开发者ID:NewLifeX,项目名称:X,代码行数:71,代码来源:RedisClient.cs
在GetRequest()方法中,Stream的代码示例类中的GetType的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.GetType的代码示例8 - CloseInputStream()
using System.IO; /** * @param stream the stream to be Closed * @param success
false if an exception is currently being thrown in the calling method */ private void CloseInputStream(Stream stream, bool success) { if(stream is MemoryStream) { String msg = "POIFS is closing the supplied input stream of type (" + stream.GetType().Name + ") which supports mark/reset. " + "This will be a problem for the caller if the stream will still be used. " + "If that is the case the caller should wrap the input stream to avoid this Close logic. " + "This warning is only temporary and will not be present in future versions of POI."; //_logger.Log(POILogger.WARN, msg); } try { stream.Close(); } catch (IOException) { if(success) { throw; } // else not success? Try block did not complete normally // just print stack trace and leave original ex to be thrown //e.StackTrace; } }
开发者ID:dotnetcore,项目名称:NPOI,代码行数:26,代码来源:POIFSFileSystem.cs
在CloseInputStream()方法中,Stream的代码示例类中的GetType的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的Stream.GetType方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。