• C#和.NET框架


    1.几乎所有.NET框架的功能都是通过一个巨大的托管类型集合公开的。这些类型被组织成为有等级的命名空间,并且打包到一组程序集中,与CLR一起组成了.NET平台。

    一些.NET类型直接被CLR使用,并且是托管宿主环境必不可少的。这些类型处于mscorlib.dll程序集中,包括C#的内置类型以及基本的集合类、流处理类型、序列化、反射、线程和本地互用性。

     在这个级别之上的是补充类型,用以“充实”CLR级别的功能,提供其他特性,比如XML、网络以及LINQ。

    它们处于System.dll、System.Xml.dll和System.Core.dll中,并且与mscorlib一起为框架其他功能提供了一个丰富的编程环境。这个“核心框架”定义了本书的主要范围。

    .NET框架的余下部分由应用API组成,大多数API

    包括如下三种功能:用户接口技术   Backend    技术   分布式系统技术

    表5-1显示了C#、CLR和.NET框架之间不同版本的兼容性历史。有趣的是C# 3.0针对一个新的框架版本,而继续使用与它前一代相同的CLR版本。

    更加精确的说,C# 3.0针对CLR 2.0的更新版本,它作为Framework 3.5的一部分被安装。

    设计这个更新是为了不破坏与现存应用程序的兼容性。

    表5-1 C#、CLR与.NET 框架版本

     C#版本                        CLR版本                          框架版本

    1.0          1.0           1.0 

    1.1          1.1           1.1 

    2.0                                  2.0                                     2.0 

                            3.0 

    3.0                                  2.0 (更新)                           3.5 

     

    本章撇开所有.NET框架的关键部分,以本书介绍的核心类型开始,最后以应用技术概述结束。

     .NET框架中的程序集和命名空间相互交叉。

    最合适的例子就是mscorlib.dll和System.Core.dll,它们都在许多名命空间中定义类型,但是没有一个类型以“mscorlib”或者“System.Core”作为前缀。

    但是,不太明显的情况却更让人迷惑,比如System.Security.Cryptography中的类型。这个命名空间中的大多数类型都处于System.dll,除了少数类型处于System.Security.dll。

    附录B列出了从框架的命名空间到程序集的完整映射。

     .NET Framework 3.5的新增功能 Framework 3.5的新增功能主要集中在LINQ。

    包括:标准查询运算符,在命名空间System.Linq中。

    用于表达式树的对象模型,在命名空间System.Linq.Expressions中。

    LINQ to SQL的应用程序接口API,在命名空间System.Data.Linq中。

    LINQ to XML文档对象模型,在命名空间System.Xml.Linq中。

    一组通用的泛型委托Action<>和Func<>,在System命名空间中。

     Framework 3.5也加入了如下新的核心类型:System.DateTimeOffset,用于将一个时间点表示为UTC+偏移量的形式。

    System.TimeZoneInfo,用于获取任意时区的偏移量和夏时制数据。

    HashSet<T>,在System.Collections.Generic命名空间中,用于表示一个集合(带有键而没有值的字典)。

    ReaderWriterLockSlim,在System.Threading命名空间中,是ReaderWriterLock的改进版本。

    PipeStream和一组相应的类型,在System.IO.Pipes命名空间中,使用Windows管道提供基于流的进程间通信。

    还有一些其它专门的新API和类型:通过实现(对等名称解析协议)提供对网络通信(PNRP在命名空间System.Net.PeerToPeer中)。

    为可扩展性提供的宿主模型(System.AddIn)。

    为WMI 2.0提供的托管提供器(System.Management.Instrumentation)。

    ETW跟踪监听器(EventProviderTraceListener)和有计划的EventSchemaTraceListener。

    托管接口实现由Windows Vista和更高版本系统支持的计数器(System.Diagnostics.PerformanceData)。

    另外,System.Security.Cryptography补充类型来支持加密算法的“Suite B”,由国家安全局(National Security Agency)定义。

    Framework 3.5还增强引入.NET Framework 3.0的四个API:Windows Presentation Foundation (WPF) Windows Communication Foundation (WCF) Windows Workflow Windows CardSpace Framework 3.5的多数核心特性已经被隔离到一个新的程序集中,这个程序集被称为System.Core.dll,以此最小化对CLR 2.0升级版本的影响(一个值得注意的例外是DateTimeOffset,它在更新后的mscorlib.dll中)。

     

  • 相关阅读:
    [Python] Python 学习
    [其它] 学习杂记
    [.NET] 《Effective C#》快速笔记(三)- 使用 C# 表达设计
    [.NET] 《Effective C#》快速笔记(二)- .NET 资源托管
    [python] 小游戏
    [.NET] 《Effective C#》快速笔记(一)- C# 语言习惯
    [angularjs] AngularJs 知识回顾
    [C#] 使用 StackExchange.Redis 封装属于自己的 RedisHelper
    [.NET] 一步步打造一个简单的 MVC 电商网站
    [.NET] 一步步打造一个简单的 MVC 电商网站
  • 原文地址:https://www.cnblogs.com/mrgaoyuan/p/8723811.html
Copyright © 2020-2023  润新知