zoukankan      html  css  js  c++  java
  • .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中。



  • 相关阅读:
    ZOJ 2588 Burning Bridges
    POJ 1966 ZOJ 2182 Cable TV Network
    HDU 5348 MZL's endless loop
    HDU 5352 MZL's City
    Tarjan算法求解无向连通图的割点、割边、点双连通分量和边双连通分量的模板
    ZOJ 1119 SPF
    HDU 3452 Bonsai
    HDU 1520 Anniversary party
    POJ 2239 Selecting Courses
    POJ 1144 Network
  • 原文地址:https://www.cnblogs.com/PaulMa/p/2244680.html
Copyright © 2011-2022 走看看