Welcome 微信登录

首页 / 软件开发 / C#

C#接口技术

C#接口技术

C#接口技术2007-11-10 本站 Windows 2000的推出是许多人盼望已久的事情,它带来的多种新特性令人为之兴奋不已。对于一名程序设计人员来说,最关注的一些问题有:在Windows 2000操作系统中将组件对象模型(COM)与Microsoft事务服务器(MTS)合二为一,命名为COM+;全新的应用程序接口(Application Programmer Interface)特性,等等。那么,这一切对于软件开发人员来说意味着什么呢?如何能够在新的...
动态链接库

动态链接库

动态链接库2007-11-10 本站 你是否有过这样的经历?在配置不是很好的机器上运行一些不是很完善的应用程序,系统速度越来越慢,直至弹出一个警告对话框:“系统资源严重不足!请关闭部分Windows应用程序......”。这往往是静态链接的缘故。使用普通的函数库,在程序链接时将库中的代码拷贝到可执行文件中,这叫作静态链接。假设有多个程序同时执行,这时内存中就会保留许多重复的代码副本。使用动态链接库则不一样。只有程序在执行时才将库代码...
编译单元

编译单元

编译单元2007-11-10 本站 我们再首先介绍一下编译单元(Compilation units)的概念。顾名思义,编译单元是能够被编译器进行编译的最小单位。编译单元定义了源文件的整体结构。一个编译单元的声明格式如下:using-directives attributes namespace-member-declarations一个C#程序包含了一个或多个编译单元,每一个编译单元包含在一个独立的源文件中。当C#程序被编译时,编译器对程序的所有编译单元进...
名字空间和装配

名字空间和装配

名字空间和装配2007-11-10 本站 到现在为止,除了依赖一些提供的类(比如一开始我们就提到的System.Console)类,我们介绍的程序主要都是依靠自身来实现的。但更普遍的情况是,现实世界中的应用程序可能包含许多不同的部分。举个例子,一个应用程序系统可能需要依赖于许多不同的组件,一些是内部开发的,另一些是从别的软件开发商处购买的。使用名字空间和装配使得这种基于组件的系统成为可能。名字空间提供了一个逻辑上的层次结构体系,它即可以作为应用程序的内部结...
使用名字空间

使用名字空间

使用名字空间2007-11-10 本站 16.2.1 名字空间的声明名字空间的声明是关键字"namespace"后面跟名字空间名和名字空间主体,然后还可以跟一个分号。格式如下:namespace qualified-identifier namespace-body;名字空间的声明要么在编译单元(源文件)的第一行出现,要么作为成员出现在其它名字空间的声明之中。首次声明的名字空间是全局名字空间的成员,在别的名字空间内部声明的名字空间作为外...
使用指示符

使用指示符

使用指示符2007-11-10 本站 使用指示符的目的是为了方便使用其它的名字空间中定义的名字空间和类型。名字空间的指示符有两种:别名使用指示符(using-alias-directive)和名字空间使用指示符(using-namespace-directive)。16.3.1 别名使用指示符C#支持使用别名。别名使用指示符定义一个别名,以后就可以使用这个别名来代替一个类型。这在两个库的名字可能发生冲突的情况下非常有用。别名还可以避免使用冗长的名字空间。如...
对应用程序结构进行组织的程序示例

对应用程序结构进行组织的程序示例

对应用程序结构进行组织的程序示例2007-11-10 本站 上面我们介绍了对应用程序结构进行组织的方法,接下来我们举一个综合应用的例子。程序实现的功能非常简单,但其中用到了我们讲解的各方面的知识。在程序中,我们利用名字空间把应用程序功能进行分割,并且用到了在一个名字空间中包含多个类、在一个可执行文件中调用多个动态链接库的方法。程序中还用到了异常处理、类的继承、派生类对虚方法的重载、多态性的实现等概念,希望读者能够在阅读时认真注意这些用法,来加深对基本概念的...
组织应用程序

组织应用程序

组织应用程序2007-11-10 本站 在传统的应用程序中,动态链接库(Dynamic-Link Library,DLL)是一个非常重要的组成部分。在建立应用程序的可执行文件时,不需要将DLL链接到程序中,而是在程序运行时动态装载DLL。除了很小的程序以外,实际工作的一个应用程序通常都由若干的编译单元共同组成。出于方便,我们常常将大型的程序分为若干个相互联系的可执行程序和动态链接库。有经验的程序员一定深有体会,使用现有的各种语言开发工具来编写动态链接库是一...
文件和流

文件和流

文件和流2007-11-10 本站 文件(file)和流(stream)既有区别又有联系。文件是在各种媒质上(可移动磁盘、硬盘、CD等)永久存储的数据的有序集合。它是一种进行数据读写操作的基本对象。通常情况下文件按照树状目录进行组织,每个文件都有文件名、文件所在路径、创建时间、访问权限等属性。从概念上讲,流非常类似于单独的磁盘文件,它也是进行数据读取操作的基本对象。流为我们提供了连续的字节流存储空间。虽然实际存储的位置可以不连续,甚至可以分布在多个磁盘上,...
C#支持输入输出操作的类型

C#支持输入输出操作的类型

C#支持输入输出操作的类型2007-11-10 本站 StreamSystem.IO为我们提供了一个抽象类Stream,Stream类支持对字节的读写操作。在Stream类中包括了对异步操作的支持。既然Stream是抽象类,所有其它流的类就都必须从Steam类中继承。Stream类及其子类共同构成了一个数据源和数据存储的视图,从而封装了操作系统和底层存储的各个细节,使程序员把注意力集中到程序的应用逻辑上来。流包含以下基本操作:读操作(Reading)。即读...
C#的文件存储管理

C#的文件存储管理

C#的文件存储管理2007-11-10 本站 17.2.1 目录管理.Net框架结构在名字空间System.IO中为我们提供了Directory类来进行目录管理。利用它,我们可以完成对目录及其子目录进行创建、移动、浏览等操作,甚至还可以定义隐藏目录和只读目录。Directory的构造函数形式如下:public Directory(string path);其中的参数path表示目录所在的路径。Directory的主要属性有:●Attributes:0x01...
C#的异步文件操作

C#的异步文件操作

C#的异步文件操作2007-11-10 本站 先来说说同步和异步操作之间的主要区别。在同步I/O操作中,方法将一直处于等待状态,直到I/O操作完成。而在异步I/O操作中,在开始了I/O操作后,程序的方法可以转移去执行其它的操作,这样大大提高了程序执行的效率。由于是一个多任务的操作系统,在同一时刻系统可能会接受到多个I/O操作请求,要求对磁盘文件执行各种操作。如果采用同步方式,那么每时每刻最多只能有一个I/O操作在进行,而其它的任务都处于等待状态,系统的利用...
.Net框架结构提供的I/O方式

.Net框架结构提供的I/O方式

.Net框架结构提供的I/O方式2007-11-10 本站 在System.IS名字空间中提供了多种类型,用于进行数据文件和数据流的读写操作。这些操作可以同步进行,也可以异步进行。17.1.1 17.1.2 一个完整的应用程序,肯定要涉及到对系统和用户的信息进行存储、读取、修改等操作,还常常需要设计自己的文件格式。因此,有效地实现文件操作,是一个良好的应用程序所必须具备的内容。C#为我们提供了文件操作的强大功能。利用.Net环境所提供的功能,我们可以方便地...
C#的文件操作管理

C#的文件操作管理

C#的文件操作管理2007-11-10 本站 文件管理是操作系统的一个重要组成部分,而文件操作就是对用户在编写应用程序时进行文件管理的一种手段。目前有许多文件系统。在我们使用过的从Dos、Windows3.X、Windows95、WindowsNT、Windows2000这些操作系统中,用到了我们非常熟悉的FAT、FAT32、NTFS等文件系统。这些文件系统在操作内部实现时有不同的方式,然而它们提供给用户的接口是一致的。只要按照正规的方式来编写代码,而且程...
C#对注册表编程的支持

C#对注册表编程的支持

C#对注册表编程的支持2007-11-10 本站 注册表基础知识请参阅本站文章:在应用程序安装时,常常需要利用注册表来登记应用程序的名字、运行路径、用户对应用程序的配置信息等。许多应用程序在运行时也常常需要访问注册表。.Net框架结构在Microsoft.Win32名字空间内提供了两个类用于注册表操作:Registry和RegistryKey。这两个类都是密封类,不允许被其它类继承。Registry类中提供了7个公有的静态域,分别代表Windows注册表中...
C#注册表编程示例二:在“新建”中添加自己的文件类型

C#注册表编程示例二:在“新建”中添加自己的文件类型

C#注册表编程示例二:在“新建”中添加自己的文件类型2007-11-10 本站 下面的例子在桌面的右键快捷菜单中或在Windows资源管理器的“新建”中添加自己的文件类型。假设添加的是扩展名为“.cs”的文件,说明文件为“cs files”,默认文件的打开方式采用中的写字板notepad.exe打开。程序清单18-2:using System;using Microsoft.Win32...
C#注册表编程

C#注册表编程

C#注册表编程2007-11-10 本站 18.1.1 注册表概述Windows操作系统的注册表中包含了有关计算机运行方式的配置信息,其中包括Windows操作系统配置信息、应用程序配置信息、专用用户设置配置信息、环境配置信息等。另外,在WindowsNT和Windows2000操作系统中,注册表中还包含了安全性、网络管理等配置信息。详细内容请参阅本站文章:18.1.2 18.1.3 注册表编程示例...
在C#代码中调用C++和VB编写的组件

在C#代码中调用C++和VB编写的组件

在C#代码中调用C++和VB编写的组件2007-11-10 本站 如果不能和用别的编程语言编写的组件进行交互,这种编程技术的含金量就会大打折扣。.NET环境为我们提供了不同语言编写的组件之间相互调用的良好机制。只要按照.NET可操控代码的标准来编写组件,对于客户程序来说,调用者的组件是哪种语言编写的都无关紧要,调用的方式实际上没有什么区别。下面我们先后使用C++、VB和C#编写了自己的组件。这是一个简化的字典组件,字典在构造时没有装载语言库,需要使用Loa...
<< 111 112 113 114 115 116 117 118 119 120 >>