当前位置: 首页 > news >正文

化妆培训学校网站源码 下载做电影网站需要的服务器配置

化妆培训学校网站源码 下载,做电影网站需要的服务器配置,wordpress透明,安徽高端网站建设1. 异步编程 在.Net 4.5中#xff0c;通过async和await两个关键字#xff0c;引入了一种新的基于任务的异步编程模型#xff08;TAP#xff09;。在这种方式下#xff0c;可以通过类似同步方式编写异步代码#xff0c;极大简化了异步编程模型。如下式一个简单的实例… 1. 异步编程 在.Net 4.5中通过async和await两个关键字引入了一种新的基于任务的异步编程模型TAP。在这种方式下可以通过类似同步方式编写异步代码极大简化了异步编程模型。如下式一个简单的实例     static async void DownloadStringAsync2(Uri uri)    {        var webClient  new WebClient();        var result  await webClient.DownloadStringTaskAsync(uri);        Console.WriteLine(result);    } 而之前的方式是这样的     static void DownloadStringAsync(Uri uri)    {        var webClient  new WebClient();        webClient.DownloadStringCompleted (s, e)             {                Console.WriteLine(e.Result);            };        webClient.DownloadStringAsync(uri);    } 也许前面这个例子不足以体现async和await带来的优越性下面这个例子就明显多了     public void CopyToAsyncTheHardWay(Stream source, Stream destination)    {        byte[] buffer  new byte[0x1000];        ActionIAsyncResult readWriteLoop  null;        readWriteLoop iar         {            for (bool isRead (iar  null); ; isRead !isRead)            {                switch (isRead)                {                    case true:                        iar source.BeginRead(buffer, 0, buffer.Length,                            readResult                             {                                if (readResult.CompletedSynchronously) return;                                readWriteLoop(readResult);                            }, null);                        if (!iar.CompletedSynchronously) return;                        break;                    case false:                        int numRead source.EndRead(iar);                        if (numRead 0)                        {                            return;                        }                        iar destination.BeginWrite(buffer, 0, numRead,                            writeResult                             {                                if (writeResult.CompletedSynchronously) return;                                destination.EndWrite(writeResult);                                readWriteLoop(null);                            }, null);                        if (!iar.CompletedSynchronously) return;                        destination.EndWrite(iar);                        break;                }            }        };        readWriteLoop(null);    }    public async Task CopyToAsync(Stream source, Stream destination)    {        byte[] buffer  new byte[0x1000];        int numRead;        while ((numRead  await source.ReadAsync(buffer, 0, buffer.Length)) ! 0)        {            await destination.WriteAsync(buffer, 0, numRead);        }    } 关于基于任务的异步编程模型需要介绍的地方还比较多不是一两句能说完的有空的话后面再专门写篇文章来详细介绍下。另外也可参看微软的官方网站Visual Studio Asynchronous Programming其官方文档Task-Based Asynchronous Pattern Overview介绍的非常详细 VisualStudio中自带的CSharp Language Specification中也有一些说明。 2. 调用方信息 很多时候我们需要在运行过程中记录一些调测的日志信息如下所示     public void DoProcessing()    {        TraceMessage(Something happened.);    } 为了调测方便除了事件信息外我们往往还需要知道发生该事件的代码位置以及调用栈信息。在C中我们可以通过定义一个宏然后再宏中通过__FILE__和__LINE__来获取当前代码的位置但C#并不支持宏往往只能通过StackTrace来实现这一功能但StackTrace却有不是很靠谱常常获取不了我们所要的结果。 针对这个问题在.Net 4.5中引入了三个AttributeCallerMemberName、CallerFilePath和CallerLineNumber。在编译器的配合下分别可以获取到调用函数准确讲应该是成员名称调用文件及调用行号。上面的TraceMessage函数可以实现如下     public void TraceMessage(string message,            [CallerMemberName] string memberName  ,            [CallerFilePath] string sourceFilePath  ,            [CallerLineNumber] int sourceLineNumber 0)    {        Trace.WriteLine(message:   message);        Trace.WriteLine(member name:   memberName);        Trace.WriteLine(source file path:   sourceFilePath);        Trace.WriteLine(source line number:   sourceLineNumber);    } 另外在构造函数析构函数、属性等特殊的地方调用CallerMemberName属性所标记的函数时获取的值有所不同其取值如下表所示 调用的地方 CallerMemberName获取的结果 方法、属性或事件 方法属性或事件的名称 构造函数 字符串 .ctor 静态构造函数 字符串 .cctor 析构函数 该字符串 Finalize 用户定义的运算符或转换 生成的名称成员例如 op_Addition。 特性构造函数 特性所应用的成员的名称 例如对于在属性中调用CallerMemberName所标记的函数即可获取属性名称通过这种方式可以简化 INotifyPropertyChanged 接口的实现。 转载于:https://www.cnblogs.com/kylin2016/p/5817088.html
http://wiki.neutronadmin.com/news/442632/

相关文章:

  • 嘉定网站建设网页制作阿里巴巴网站装修怎么做全屏大图
  • 网站后台的安全宝安的医院网站建设
  • 凡科网网站系统企业宣传片报价明细
  • 网站开发所需的知识国网公司网站
  • 海外网站建设教程手机网站开发设计
  • 关于小说网站的一些建设流程百度网盘提取码入口
  • 设计工作室网站网站上的3d怎么做的
  • 更改网站后台网站建设如何制作教程
  • 枣庄高端网站建设织梦网站联系我们的地图怎么做
  • 中国保密在线网站培训系统展示型的网站开发价格
  • 电子商务网站开发指南如何使用wordpress插件
  • 好网站推荐的网站wordpress 5.1.1漏洞
  • 做动画 的 网站有哪些软件建一个网站需要多少钱?
  • 仿珠宝首饰网站开发购物网站导航模板
  • 花钱也可以哪些网站可以做推广广告自己做电商网站
  • seo如何优化一个网站住房和城乡建设部令第37号
  • 网站目录做301wordpress编辑器上传图片
  • 网站设计开发的难点高校思政网站建设意义
  • pathon做网站wordpress 页面 文章 区别
  • 海珠哪家网站建设好本科自考多少钱
  • win10 中国建设银行网站古冶区城乡建设局网站
  • 门头沟建设网站用vue做pc端网站
  • 实训报告网站开发室内设计软件免费下载
  • [8dvd]flash网站源文件 flash整站源码北京商场购物中心
  • 网站怎么开启gzip珠海网站建设网络公司
  • 简单的网站开发的软件有哪些dw可以做有后台的网站么
  • 官方网站内容可做证据吗wordpress按地区
  • 建建设网站广东金东建设工程公司网站
  • 12306网站建设超30亿设计专业大学排名
  • 制作网站的发展前景wordpress 快报插件