WebService编程第一章讲.ppt_第1页
WebService编程第一章讲.ppt_第2页
WebService编程第一章讲.ppt_第3页
WebService编程第一章讲.ppt_第4页
WebService编程第一章讲.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Web Service Web Service 编程编程 -C#.NET-C#.NET 老师:I94Self E_mail: QQ:200762716 第一章第一章 .NET.NET和和.NET.NET框架框架 本章要点:本章要点: 通用语言运行时(通用语言运行时(Common Language Common Language RuntimeRuntime) 装配集(装配集(AssembilesAssembiles) 应用域应用域 通用类型系统通用类型系统 元数据和自描述控件元数据和自描述控件 第一章第一章 .NET.NET和和.NET.NET框架框架 .NET.NET简介简介 .NET.NET的产品集合和特点的产品集合和特点 .NET.NET框架概述框架概述 通用语言运行时(通用语言运行时(CLRCLR) 装配集(装配集(AssembilesAssembiles) 应用域应用域 通用类型系统通用类型系统 元数据和自描述控件元数据和自描述控件 跨语言互用能力和安全机制跨语言互用能力和安全机制 第一章第一章 .NET.NET和和.NET.NET框架框架 .NET.NET简介简介 发展背景发展背景 XMLXML .NET Base on .NET Base on 第一章第一章 .NET.NET和和.NET.NET框架框架 .NET.NET简介简介 发展背景发展背景 HailStormHailStorm Windows.NET Windows.NET Office.NET Office.NET bCentral bCentral 第一章第一章 .NET.NET和和.NET.NET框架框架 .NET.NET简介简介 什么是什么是.NET.NET Microsoft.NET Microsoft.NET代表了一个集合、一个软件环境、一代表了一个集合、一个软件环境、一 个可以作为平台来支持下一代个可以作为平台来支持下一代InternetInternet的可编程结构。的可编程结构。 关键点:关键点: 开发环境(软件平台)、分布式、平台(硬件)无关开发环境(软件平台)、分布式、平台(硬件)无关 。 优势:优势: 语言无关、与操作系统紧密结合、体系完备,易于使语言无关、与操作系统紧密结合、体系完备,易于使 用。用。 第一章第一章 .NET.NET和和.NET.NET框架框架 .NET.NET的产品集合和特点的产品集合和特点 .NET.NET主要组成部分及其作用主要组成部分及其作用 Windows.NETWindows.NET .NET Framework.NET Framework .NET.NET企业服务器企业服务器 模块构建服务模块构建服务 OrchestrationOrchestration Visual Studio.NETVisual Studio.NET 第一章第一章 .NET.NET和和.NET.NET框架框架 .NET.NET的产品集合和特点的产品集合和特点 .NET.NET的技术特征的技术特征 软件变服务软件变服务 基于基于XMLXML的共同语言的共同语言 融合多种设备和平台融合多种设备和平台 新一代的人机界面新一代的人机界面 第一章第一章 .NET.NET和和.NET.NET框架框架 .NET.NET框架概述框架概述 .NET.NET的技术特征的技术特征 .NET.NET提供一个基于网络的分布式的编程环境提供一个基于网络的分布式的编程环境 提供一个软件配置和版本控制的代码执行环境提供一个软件配置和版本控制的代码执行环境 提供一个代码执行环境,保证代码安全执行,包括那些由提供一个代码执行环境,保证代码安全执行,包括那些由 不确认和非完全确认的第三方提供的代码不确认和非完全确认的第三方提供的代码 提供一个与平台无关的编程和执行环境提供一个与平台无关的编程和执行环境 提供能够整合多种编程语言的工业标准提供能够整合多种编程语言的工业标准 第一章第一章 .NET.NET和和.NET.NET框架框架 .NET.NET框架概述框架概述 Visual BasicVisual Basic Visual Visual C#C# Visual Visual C+C+ Visual J#Visual J# 公共语言运行规范公共语言运行规范 (CLS)(CLS) ASP.NETASP.NET (Web Form class Class1 public int Value=0; class Test static void Main() int val1=0; int val2=val1; val2=123; Class1 ref1=new Class1(); Class1 ref2=ref1; ref2.Value=123; Console.WriteLine(“value:0,1“,val1,val2); Console.WriteLine(“ref:0,1“,ref1.Value,ref2.Value); - 输出结果是: Value: 0,123 Refs: 123,123 第一章第一章 .NET.NET和和.NET.NET框架框架 通用类型系统通用类型系统 类型定义类型定义 类型定义包括:类型定义包括: 类型中的属性的定义类型中的属性的定义 类型的可见性类型的可见性 类型的名称类型的名称 类型的基类类型的基类 类型实现的接口类型实现的接口 类型成员的定义类型成员的定义 第一章第一章 .NET.NET和和.NET.NET框架框架 通用类型系统通用类型系统 值类型值类型 内嵌的值类型内嵌的值类型 .NET .NET 框架定义了内嵌的值类型框架定义了内嵌的值类型 如:如: System.Int32 , System.BooleanSystem.Int32 , System.Boolean 用户定义的值类型用户定义的值类型 值类型可以有域,属性,事件,还可以用静态的和非值类型可以有域,属性,事件,还可以用静态的和非 静态的方法,当被装箱时,并且可以实现静态的方法,当被装箱时,并且可以实现0 0个过多个接口个过多个接口 ,值类型是封闭的,其他类不可以从他派生,可以在值类,值类型是封闭的,其他类不可以从他派生,可以在值类 型上定义虚拟方法,这些虚拟方法可以从装箱或折箱的形型上定义虚拟方法,这些虚拟方法可以从装箱或折箱的形 式调用式调用 下列代码显示了怎么样唯一化一个复数 构造值类型 - using System; public struct Complex public double r,i; public Complex(double r,double i) this.r=r; this.i=i; public Complex Reciprocal get if(r=0 double div=r*r+i*i; return new Complex (r/div,-i/div); public static explicit operator double (Complex a) return a.r; public static implicit operator Complex(double r) return new Complex (r,0); public static Complex operator+(Complex a) return a; public static Complex operator -(Complex a) return new Complex (-a.r ,-a.i ); public static Complex operator +(Complex a,Complex b) return new Complex (a.r+b.r,a.i+b.i); public static Complex operator -(Complex a,Complex b) return new Complex (a.r-b.r,a.i-b.i); public static Complex operator *(Complex a,Complex b) return new Complex (a.r*b.r-a.i*b.i ,a.r*b.i+a.i*b.r); public static Complex operator /(Complex a,Complex b) return a*b.Reciprocal ; public override string ToString() return String.Format (“0+1i“,r,i); /this.r ,this.i how about ? yes public class ValueTypeSample public static void Main() Complex a=new Complex (0,1); Complex b=new Complex (1,-2); Console.WriteLine (); Console.WriteLine (“a=“+a); Console.WriteLine (“b=“+b); Console.WriteLine (“a+b=“+(a+b); Console.WriteLine (“a-b=“+ (a-b); Console.WriteLine (“a*b=“+(a*b); Console.WriteLine (“a/b=“+ (a/b); Console.WriteLine (); Console.WriteLine (“(double)a=“+(double)a); Console.WriteLine (“(Complex)5=“+(Complex)5); 输出结果是: a=(0+1i) b=(0+-2i) a+b=(0+-1i) a-b=(0+3i) a*b=(2+0i) a/b=(-0.5+0i) (double)a=0 (Complex)5=(5+0i) 第一章第一章 .NET.NET和和.NET.NET框架框架 通用类型系统通用类型系统 值类型值类型 枚举是一种特殊类型的值类型,他是从枚举是一种特殊类型的值类型,他是从System.Enum System.Enum 继承的,继承的, 一个枚举有个一个枚举有个 名字,一个基本类型和一个域集名字,一个基本类型和一个域集 !。基本类型必须是内嵌的有符号或是无符号的整数类型!。基本类型必须是内嵌的有符号或是无符号的整数类型 ( 如:如:Byte,Int32,UInt64)Byte,Int32,UInt64) 枚举的一些限制枚举的一些限制 不能定义自己的方法不能定义自己的方法 不能实现接口不能实现接口 不能定义属性和事件不能定义属性和事件 下列代码显示了如何使用一小块域和普通枚举类型 - using System; using System.Collections ; / 定义枚举 public enum SomeRootVegetables HorseRadish, Radish, Turnip, Flags / what the mean? public enum Seasons None=0, Summer=1, Autumn=2, Winter=4, Spring=8, All=Summer|Autumn|Winter|Spring, / why? public class EnumerationSample public static void Main() Hashtable AvailableIn=new Hashtable (); AvailableInSomeRootVegetables.HorseRadish =Seasons.All ; AvailableInSomeRootVegetables.Radish =Seasons.Spring ; AvailableInSomeRootVegetables.Turnip =Seasons.Spring |Seasons.Autumn ; Seasons seasons=new Seasons Seasons.Winter ,Seasons.Spring ,Seasons.Summer ,Seasons.Autumn ; for(int i=0;i0) Console.WriteLine (“t“+(SomeRootVegetables)e.Key ).ToString (“G“); 输出结果是: a=(0+1i) b=(0+-2i) a+b=(0+-1i) a-b=(0+3i) a*b=(2+0i) a/b=(-0.5+0i) (double)a=0 (Complex)5=(5+0i) 第一章第一章 .NET.NET和和.NET.NET框架框架 通用类型系统通用类型系统 其他其他 代表(代表(Delegate) Delegate) 类似类似C+C+函数指针接口可以有函数指针接口可以有 静态静态 成员,嵌套类型,抽象虚拟成员,属性,事件。成员,嵌套类型,抽象虚拟成员,属性,事件。 每一个每一个 实现了接口的类必须定义接口中申明的抽象成员实现了接口的类必须定义接口中申明的抽象成员 接口有如下的限制:接口有如下的限制: 接口可以声明任何种类,但是接口中的成员必须是接口可以声明任何种类,但是接口中的成员必须是PUBLIC PUBLIC 的的 接口以及成员不能有安全限定接口以及成员不能有安全限定 接口可以定义类的构造函数,但不能有构造实例接口可以定义类的构造函数,但不能有构造实例 指针是一个特殊的类型变量,运行时支持三种类型的指针是一个特殊的类型变量,运行时支持三种类型的 指针:受控指针,非受控指针,非受控函数指针。指针:受控指针,非受控指针,非受控函数指针。 第一章第一章 .NET.NET和和.NET.NET框架框架 元数据和自描述控件元数据和自描述控件 元数据元数据用于描述代码中用到的类型和成员,描述的类用于描述代码中用到的类型和成员,描述的类 型和成员有两类,一是源代码中定义,一是引用的。元数型和成员有两类,一是源代码中定义,一是引用的。元数 据总是和包含据总是和包含ILIL代码的文件相关联,实际上元数据总是和代码的文件相关联,实际上元数据总是和 这些代码一起被嵌入到同一个这些代码一起被嵌入到同一个exe/dllexe/dll文件中,编译器总文件中,编译器总 是同时产生元数据和是同时产生元数据和ILIL代码,并且总是同时将它们嵌入到代码,并且总是同时将它们嵌入到 生产的托管模块中,两者始终保持同步。生产的托管模块中,两者始终保持同步。 第一章第一章 .NET.NET和和.NET.NET框架框架 元数据和自描述控件元数据和自描述控件 元数据的用处元数据的用处 元数据省去了源代码编译时对头文件和库文件的需求。这是因为在含元数据省去了源代码编译时对头文件和库文件的需求。这是因为在含 有实现类型和成员的有实现类型和成员的ILIL代码文件中,已经包含了所有被引用的类型和代码文件中,已经包含了所有被引用的类型和 成员的信息,编译器可以直接从托管模块中读取元数据来获得这些信成员的信息,编译器可以直接从托管模块中读取元数据来获得这些信 息。息。 Visual Studio.NETVisual Studio.NET的智能感知(的智能感知(IntellisenseIntellisense)功能是通过分析元)功能是通过分析元 数据来实现的。数据来实现的。 CLRCLR代码验证过程可以利用元数据来确保代码仅执行代码验证过程可以利用元数据来确保代码仅执行“ “安全安全” ”的操作。的操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论