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;未经允许,请勿转载。