• .net4.0新增特性


    .net4.0新增特性主要有

    一、动态类型

      让动态语音运行库(Dynamic Language Runtime,DLR)在运行期间动态确定对象的类型方式。使用C#新增的动态功能,可以更好的进行交互操作,更容易的使用Dom。在4.0版本中,Microsoft包含了动态语音运行库,DLR建立在CLR基础上,提供了把所以动态语音交互操作链接起来的功能,C#使用dynamic关键字访问新的DLR。这对于编译器是一个标记,只要遇到这个标记,编译器就认为这是一个动态调用,而不是一般的静态调用。

    二、可选参数和命名参数

      可选参数允许为方法的一些参数提供默认值,并且允许使用者重载类型,因此即使只有一个方法,也能处理所有变体。如:

    1 public void CreateUser(string firstName,string lastName,bool isAdmin=false,bool isTrialUser=true)
    2 {
    3 }

    在使用者调用时就可以这样调用该方法:

    1 myClass.CreateUser("Bill","Ebjen");
    2 myClass.CreateUser("Bill","Ebjen",true);
    3 myClass.CreateUser("Bill","Ebjen",true,false);
    4 myClass.CreateUser("Bill","Ebjen"isTrailUser:false);

    命名参数会潜在的改变编写代码的方式,该功能能使代码更容易编写和阅读。例如,看一下System.IO名称空间的File.Copy()方法,一般构建为:

    File.Copy(@"C:\myTestFile.txt",@"C:\myOtherFile.txt",true);

    在这个方法中使用3个参数,但实际传递给Copy()方法的是什么内容?除非知道这个方法的前前后后,否则仅看一眼该方法,很难判读出该方法会执行何种操作。而通过命名参数就可以在提供参数值之前使用代码中的参数名,如下:

    File.Copy(sourceFileName:@"C:\myTestFile.txt",destFileName:@"C:\myOtherFile.txt",overwrite:true);

    通过命名参数,就很容易阅读和理解这行代码的操作,使用命名参数对最终编译没有影响,命名参数仅应用在应用程序的编码中。

    三、协变和抗变

      虽然在.net framework的以前版本中包含协变和抗变,但他们在.Net4.0中进行了扩展,当处理泛型、委托等时,它们会执行的更好。例如:以前版本可以对对象和数组使用抗变,但不能对泛型接口使用抗变。而在.Net4.0中就可以对泛型接口使用抗变。

    四、Asp.Net MVC

      Asp.Net MVC是Asp.Net最新的只要新增内容,他为开发团队带来了许多惊喜。Asp.Net MVC提供了许多开发人员期待的、使用模型-视图-控制器来创建Asp.Net的方式。Asp.Net MVC在开发人员构建应用程序中提供了可测试性、灵活性和可维护性。记住:Asp.Net MVC不是每个人都知道和喜欢的Asp.Net替代品,而只是构建应用程序的另一种方式。

      Asp.Net这个版本允许使用这个新模型构建应用程序,它完全内潜在Framework和Visual Studio中。



  • 相关阅读:
    每天改进一点点之改进日志收集系统 原创: 赵建鹏 雪球工程师团队 2018-03-23
    Locust
    ('' or 60)
    python动态获取对象的属性和方法 (转载)
    MySQL 8.0: From SQL Tables to JSON Documents (and back again)
    词典型 遍历键 顺序
    子系统权限栏目 自己生成 自己控制
    Redis 单线程却能支撑高并发
    OPPO数据中台之基石:基于Flink SQL构建实数据仓库
    技术干货丨如何在VIPKID中构建MQ服务
  • 原文地址:https://www.cnblogs.com/PaulMa/p/2244680.html
Copyright © 2020-2023  润新知