首页 > 软件开发 > ASP >

C# 5.0 新特性介绍

来源:互联网 2023-03-16 19:07:46 108

C# 5.0 新特性主要有下面几个:Cdf办公区 - 实用经验教程分享!

1)Async Feature:异步特性Cdf办公区 - 实用经验教程分享!

2)Caller Information:记录调用方法的相关信息Cdf办公区 - 实用经验教程分享!

工具/原料

  • .NET Framework 4.5
  • VS2012

方法/步骤

  • 1

    创建【控制台应用程序】项目【CSharp.NewFeatures.V50】Cdf办公区 - 实用经验教程分享!

    C# 5.0 新特性介绍Cdf办公区 - 实用经验教程分享!

  • 2

    在【Program.cs】中编辑测试代码整体结构如下Cdf办公区 - 实用经验教程分享!

    C# 5.0 新特性介绍Cdf办公区 - 实用经验教程分享!

  • 3

    测试辅助类【CSharpV50】的代码如下:Cdf办公区 - 实用经验教程分享!

    1)方法AwaitFunctioNASync:用于测试异步特性Cdf办公区 - 实用经验教程分享!

    /// summary>Cdf办公区 - 实用经验教程分享!

    /// 使用 async 实现异步方法Cdf办公区 - 实用经验教程分享!

    /// /summary>Cdf办公区 - 实用经验教程分享!

    public async void AwaitFunctioNASync()Cdf办公区 - 实用经验教程分享!

    {Cdf办公区 - 实用经验教程分享!

    Console.WriteLine("进入async方法 " DateTime.Now.ToString());Cdf办公区 - 实用经验教程分享!

    await Task.Delay(1000);Cdf办公区 - 实用经验教程分享!

    Console.WriteLine("结束async方法 " DateTime.Now.ToString());Cdf办公区 - 实用经验教程分享!

    }Cdf办公区 - 实用经验教程分享!

    C# 5.0 新特性介绍Cdf办公区 - 实用经验教程分享!

  • 4

    测试辅助类【CSharpV50】的代码如下:Cdf办公区 - 实用经验教程分享!

    2)方法InsertLog :记录调用此方法的信息Cdf办公区 - 实用经验教程分享!

    Cdf办公区 - 实用经验教程分享!

    /// summary>Cdf办公区 - 实用经验教程分享!

    /// 记录调用此方法的信息Cdf办公区 - 实用经验教程分享!

    /// /summary>Cdf办公区 - 实用经验教程分享!

    /// param name="memberName">调用此方法的方法或者属性名/param>Cdf办公区 - 实用经验教程分享!

    /// param name="sourceFilePath">调用此方法的所在物理路径/param>Cdf办公区 - 实用经验教程分享!

    /// param name="sourceLineNumber">调用此方法的所在行数/param>Cdf办公区 - 实用经验教程分享!

    public void InsertLog([CallerMemberName] string memberName = "", [CallerFilePath] string sourceFilePath = "", [CallerLineNumber] int sourceLineNumber = 0)Cdf办公区 - 实用经验教程分享!

    {Cdf办公区 - 实用经验教程分享!

    Console.WriteLine("memberName = {0}, sourceFilePath = {1},sourceLineNumber = {2},at {3}", memberName, sourceFilePath, sourceLineNumber, DateTime.Now);Cdf办公区 - 实用经验教程分享!

    }Cdf办公区 - 实用经验教程分享!

    C# 5.0 新特性介绍Cdf办公区 - 实用经验教程分享!

  • 5

    Main方法的整体测试结构如下:Cdf办公区 - 实用经验教程分享!

    记得需要在Main方法内部结尾处添加代码:Console.ReadLine(); 用于停住命令行显示界面,看测试结果,否则,看不到结果Cdf办公区 - 实用经验教程分享!

    C# 5.0 新特性介绍Cdf办公区 - 实用经验教程分享!

  • 5相关内容未经授权抓取自百度经验
  • 6

    Main方法内部的Async Feature 测试代码如下:Cdf办公区 - 实用经验教程分享!

    #region 1、Async FeatureCdf办公区 - 实用经验教程分享!

    Console.WriteLine("============= 【Async Feature】 Start ===========");Cdf办公区 - 实用经验教程分享!

    Cdf办公区 - 实用经验教程分享!

    // 调用异步方法,由于异步方法内部有等待1秒钟,因此, 【Async Feature】 End 输出后,仍然会输出异步方法内部的信息Cdf办公区 - 实用经验教程分享!

    // 如果不是异步方法,则会输出完方法内部信息,之后再输出 【Async Feature】 EndCdf办公区 - 实用经验教程分享!

    sharpV50.AwaitFunctioNASync();Cdf办公区 - 实用经验教程分享!

    Cdf办公区 - 实用经验教程分享!

    Console.WriteLine("============= 【Async Feature】 End ===========");Cdf办公区 - 实用经验教程分享!

    Console.WriteLine();Cdf办公区 - 实用经验教程分享!

    Console.WriteLine();Cdf办公区 - 实用经验教程分享!

    #endregionCdf办公区 - 实用经验教程分享!

    C# 5.0 新特性介绍Cdf办公区 - 实用经验教程分享!

  • 7

    Main方法内部的Caller Information测试代码如下:Cdf办公区 - 实用经验教程分享!

    // 1)CallerFilePathAttribute:编译期的调用方的路径(注意是编译期的物理路径,不管放到哪里运行,都是编译期的路径)Cdf办公区 - 实用经验教程分享!

    // 2)CallerLineNumberAttribute:方法调用处的行号(即下面例子 sharpV50.InsertLog(); 在当前文件中的行号 )Cdf办公区 - 实用经验教程分享!

    // 3)CallerMemberNameAttribute:调用方的方法或者属性(即此处的main方法名)Cdf办公区 - 实用经验教程分享!

    #region 2、Caller InformationCdf办公区 - 实用经验教程分享!

    Console.WriteLine("============= 【Caller Information】 Start ===========");Cdf办公区 - 实用经验教程分享!

    Cdf办公区 - 实用经验教程分享!

    // 1)CallerFilePathAttribute:编译期的调用方的路径(注意是编译期的物理路径,不管放到哪里运行,都是编译期的路径)Cdf办公区 - 实用经验教程分享!

    // 2)CallerLineNumberAttribute:方法调用处的行号(即下面例子 sharpV50.InsertLog(); 在当前文件中的行号 )Cdf办公区 - 实用经验教程分享!

    // 3)CallerMemberNameAttribute:调用方的方法或者属性(即此处的main方法名)Cdf办公区 - 实用经验教程分享!

    // 4)上述标记是修饰方法的参数的Cdf办公区 - 实用经验教程分享!

    sharpV50.InsertLog();Cdf办公区 - 实用经验教程分享!

    Cdf办公区 - 实用经验教程分享!

    Console.WriteLine("============= 【Caller Information】 End ===========");Cdf办公区 - 实用经验教程分享!

    Console.WriteLine();Cdf办公区 - 实用经验教程分享!

    Console.WriteLine();Cdf办公区 - 实用经验教程分享!

    #endregionCdf办公区 - 实用经验教程分享!

    C# 5.0 新特性介绍Cdf办公区 - 实用经验教程分享!

  • 8

    运行结果如下Cdf办公区 - 实用经验教程分享!

    C# 5.0 新特性介绍Cdf办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!Cdf办公区 - 实用经验教程分享!


    标签: asp

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码