Posts Tagged c#

译:《Professional C# 4.0 and .NET 4》 第一章 .Net体系架构(3 over)

以下内容原文见《Professional C# 4.0 and .NET 4》 -> Part1: The C# Language -> Chapter 1: .NET Architecture
原文作者:Christian Nagel, Bill Evjen, Jay Glynn, Karli Watson, Morgan Skinner
翻译:Sam.Sha – ycoder.com
备注:只翻译UI技术相关的,不包含ASP

使用C#创建应用程序

你可以使用C#创建控制台程序:运行于dos窗口的纯文字应用程序,这种程序可以用于单元测试或者类似UNIX或Linux中的守护程序。但通常,你可以使用.NET技术创建出更丰富的应用程序,这个章节我们就概要的介绍这些不同类型的应用程序

Creating ASP.NET applications  - 创建ASP.NET应用程序

using the Windows Presentation foundation (WPf) - 使用WPF( Windows Presentation foundation)

这块儿最新的技术是WPF( Windows Presentation Foundation),WPF使用XAML组件应用程序,XZML的全称是:可扩展的应用程序标记语言,这是微软体系中的一种全新的创建应用程序的方式,在2006年作为.NET Framework 3.0, 3.5, 4的一部分被引入,这意味着要运行WPF程序需要客户端安装.NET Framework 3.0以上版本,目前支持WPF应用程序的操作系统有Windows XP, WIndows Vista, Windows 7, Windows Server 2003, Windows Server 2008。

XAML是一种XML表述方式,用于创建WFP程序中所有可见的部分和行为,当然使用编程的方式也可以创建WPF程序。WPF采用的这种声明式编程方式,是行业的发展趋势,声明式编程椅蹲湃〈ü嘁胗镅裕–#,VB或者Java)编程创建对象,而可以通过XML编程方式声明任何的东西,35章“Core WPF”中将详细介绍使用XAML和C#的这些全新类型的创建应用程序的方式。

Windows Controls - Windows 控件

译:《Professional C# 4.0 and .NET 4》 第一章 .Net体系架构(2)

以下内容原文见《Professional C# 4.0 and .NET 4》 -> Part1: The C# Language -> Chapter 1: .NET Architecture
原文作者:Christian Nagel, Bill Evjen, Jay Glynn, Karli Watson, Morgan Skinner
翻译:Sam.Sha – ycoder.com
备注:只翻译UI技术相关的,不包含ASP

程序集

一个程序集是个逻辑单位,包含了针对.NET Framework编译的代码,本节不会详细介绍,在第18章“Assemblies”会作全面的说明,这里只作主要点概要

程序集完全是自描述的,他是一个逻辑单位而不是物理单位,也就是说他可能被存放在多个文件中(实际上,动态程序集存放在内存中而不是文件),如果一个程序集存放在多个文件中,其中有一个主文件包含了入口和其他程序集文件的位置

注意可运行代码和库代码都使用了相同的程序集结构,他们唯一的区别是,可执行程序集包含了一个主程序入口,而库程序集没有。

程序集的一个重要特征是,它既包含了对应代码的类型方法元数据描述,也包含了程序集自己的元数据描述,程序集元数据包含在被称为程序清单的位置,允许检查程序集版本和完整性。

ildasm, 一个基于windows的实用程序,可以用来检查程序集的内容,包括程序清单和元数据,ildasm会在18章节做介绍

译:《Professional C# 4.0 and .NET 4》 第一章 .Net体系架构(1)

以下内容原文见《Professional C# 4.0 and .NET 4》 -> Part1: The C# Language -> Chapter 1: .NET Architecture
原文作者:Christian Nagel, Bill Evjen, Jay Glynn, Karli Watson, Morgan Skinner
翻译:Sam.Sha – ycoder.com

第一部分:C#语言

第一章:.Net体系架构

本节内容:

.NET中编译和运行代码
微软中间语言的优势
值类型引用类型
数据类型
理解异常处理和属性
程序集,.NET基础类,名称空间
通过本书,我们强调C#语言需要结合.NET Framework考虑,而不是孤立的看待,C#编译器是专门针对.NET的,这意味着所有C#编写的代码总是运行在.NET Framework中,这对于C#语言有两点重要影响:
1、C#的架构和方法反映了.NET底层的实现方法
2、在许多情况下,C#的语言特性实际上依赖于.NET的特性或者.NET的基础类
因为有这样的依赖性,有必要在学习C#编程之前理解.NET的体系结构和方法,这是本章的目的

C#与.NET关系

C#是一种相对较新的语言,具有两方面特点:
1、是特别针对微软.NET Framework设计的语言
2、是一种基于面向对象设计方法的语言,在设计它时,微软借鉴了所有其他相似的面向对象的语言
有一件重要的事情要说明,C#语言有他自己的规则,虽然他被设计用于.NET Framework,但他本身并不是.NET的一部分,有些.NET支持的功能,C#并不支持,你可能感到奇怪的是有些C#支持的功能.NET也不支持(如某些操作符的重写),但是C#语言的目的是用于.NET的,如果你想有效的使用C#开发程序你需要了解这个架构,因此本章将花点时间探究.NET底层的样子,让我们开始吧。

通用语言运行器

.NET Framework的核心是它的运行执行环境,也就是通用语言运行器(CLR)或者.NET运行器。在CLR控制下运行的代码通常称为托管代码。
但是,在被CLR执行之前,任何你编写的代码都需要被编译,编译有两步:
1、编译成微软中间语言(IL)
2、IL由CLR编译成跨平台的特殊代码