摘要: Api函数是构筑Windws应用程序的基石,每一种Windows应用程序开发工具,它提供的底层函数都间接或直接地调用了Windows API函数,同时为了实现功能扩展,一般也都提供了调用WindowsAPI函数的接口, 也就是说具备调用动态连接库的能力。Visual C#和其它开发工具一样也能够调用动态链接库的API函数。.NET框架本身提供了这样一种服务,允许受管辖的代码调用动态链接库中实现的非... 阅读全文
posted @ 2006-06-09 22:43 しovのんeТs 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 在微软的.NET推出后,关于C#的有关文章也相继出现,作为微软的重要的与JAVA抗衡的语言,C#具有很多优点。本文将选一些C#语言中的重要知识详细介绍, 第一章:参数 1。1 IN 参数 c#种的四种参数形式: 一般参数 in参数 out参数 参数数列 本章将介绍后三种的使用。 在C语言你可以通传递地址(即实参)或是DELPHI语言中通过VAR指示符... 阅读全文
posted @ 2006-06-09 22:42 しovのんeТs 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 引用类型是类型安全的指针,它们的内存是分配在堆(保存指针地址)上的。 String、数组、类、接口和委托都是引用类型。 强制类型转换与as类型转换的区别:当类型转换非法时,强制类型转换将抛出一个System.InvalidCastException异常, 而as不会抛出异常,它返回一个null值。 用using创建别名:using console = System.Console;... 阅读全文
posted @ 2006-06-09 22:40 しovのんeТs 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 以前,作不规则窗体涉及到API的调用和大量的编程,不是谁都能作的。很多程序员都望而却步。 现在我们可以使用C#.net轻松的创建不规则窗体,下面我就用一个简单的例子来讲述其制作过程。 1.绘制不规则窗体位图 2.设置窗体基本属性 3.编写窗体相关代码 (要实现窗口的关闭,移动等操作) 1.绘制不规则窗体位图 可以使用任意一种你喜欢的作图工具,制作一个有形状的位图,背景使... 阅读全文
posted @ 2006-06-09 22:39 しovのんeТs 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 在对这个问题展开讨论之前,我们不妨先来问这么几个问题,以系统的了解我们今天要探究的主题。 观者也许曾无数次的使用过诸如System.Console类或.NET类库中那些品种繁多的类。那么,我想问的是它们究竟源自何处?C#又是如何联系它们?有没有支持我们个性化扩展的机制或类型系统?又有哪些类型系统可供我们使用呢?如果我们这些PL们连这些问题都不知其然,更不知其所以然的话,C#之门恐怕会把我们拒之... 阅读全文
posted @ 2006-06-09 22:37 しovのんeТs 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 对接口成员的访问 对接口方法的调用和采用索引指示器访问的规则与类中的情况也是相同的。如果底层成员的命名与继承而来的高层成员一致,那么底层成员将覆盖同名的高层成员。但由于接口支持多继承,在多继承中,如果两个父接口含有同名的成员,这就产生了二义性(这也正是C#中取消了类的多继承机制的原因之一),这时需要进行显式的定义: using System ; interface ISequence ... 阅读全文
posted @ 2006-06-09 22:36 しovのんeТs 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 一、引言 1. 问题的引入 假设你设计的程序已经部署到用户的计算机上,并且能够正常运行了。但是有一天,用户打来了电话——他们要求增加新的功能。确定了用户的需求后,你竟然发现原有的软件架构已经无法胜任新增任务的需求——你需要重新设计这个应用了!但问题是,就算你又用了一个开发周期完成了用户需要的应用,却不能保证用户的需求不会再次变更。也就是说,需求蔓延的可能性依然存在。因此,这种情况下插件构架... 阅读全文
posted @ 2006-06-09 22:35 しovのんeТs 阅读(227) 评论(0) 推荐(0) 编辑
摘要: C#中不仅支持.Net 平台,而且支持COM平台。为了支持 COM和.Net,C# 包含一种称为属性的独特语言特性。一个属性实际上就是一个 C# 类,它通过修饰源代码来提供元信息。属性使 C# 能够支持特定的技术,如 COM 和 .Net,而不会干扰语言规范本身。C# 提供将COM接口转换为 C#接口的属性类。另一些属性类将 COM类转换为C# 类。执行这些转换不需要任何 IDL 或类工厂。 ... 阅读全文
posted @ 2006-06-09 22:35 しovのんeТs 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 有时候我们需要表达一种抽象的东西,它是一些东西的概括,但我们又不能真正的看到它成为一个实体在我们眼前出现,为此面向对象的编程语言便有了抽象类的概念。C#作为一个面向对象的语言,必然也会引入抽象类这一概念。接口和抽象类使您可以创建组件交互的定义。通过接口,可以指定组件必须实现的方法,但不实际指定如何实现方法。抽象类使您可以创建行为的定义,同时提供用于继承类的一些公共实现。对于在组件中实现多态行为,接... 阅读全文
posted @ 2006-06-09 22:33 しovのんeТs 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的。本文将C#中调用API的要点汇集如下,希望给未在C#中使用过API的朋友一点帮助。另外如果安装了Visual Studio .net的话,在C:\Program Files\Microsoft Visual Studio .NET\Fra... 阅读全文
posted @ 2006-06-09 22:32 しovのんeТs 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 一个接口定义一个协定。实现接口的类或结构必须遵守其协定。接口可以包含方法、属性、索引器和事件作为成员。 示例 interface IExample{ string this[int index] { get; set; } event EventHandler E; void F(int value); string P { get; set; }}public deleg... 阅读全文
posted @ 2006-06-09 22:30 しovのんeТs 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 版本控制是一个过程,它以兼容的方式对组件进行不断的改进。如果依赖于早期版本的代码重新编译后可以适用于新版本,则组件的新版本与早期版本源代码兼容。相反,如果依赖于早期版本的应用程序不用重新编译即可适用于新版本,则组件的新版本为二进制兼容。 大多数语言根本不支持二进制兼容性,而且许多语言对促进源代码兼容性所做甚少。实际上,某些语言所含的缺陷使得用它开发出来的组件在不断的改进过程中,一般至少会使依赖... 阅读全文
posted @ 2006-06-09 22:29 しovのんeТs 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 委托适用于那种在某些其他语言中需用函数指针来解决的情况(场合)。但是,与函数指针不同,委托是面向对象和类型安全的。 委托声明定义一个类,它是从 System.Delegate 类派生的类。委托实例封装了一个调用列表,该列表列出了一个或多个方法,每个方法称为一个可调用实体。对于实例方法,可调用实体由一个实例和该实例的方法组成。对于静态方法,可调用实体仅由一个方法组成。如果用一组合适的参数来调用一... 阅读全文
posted @ 2006-06-09 22:28 しovのんeТs 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1、DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year; 1.3 取当前月 int 月=... 阅读全文
posted @ 2006-06-09 22:26 しovのんeТs 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 译序: C#进阶文章。译者对Samir提供的C#例子进行了简单整理(作者提供的某些代码在译者的环境中无法通过编译),并编写了对应的C++示例,一并置于译注中,以便读者比对。译文中所有C#、C++程序调试环境均为Microsoft Visual Studio.NET 7.0 Beta2。 概要: 通过提供一个框架,设计模式可以解决应用开发中的许多问题。模式使得设计过程更加清晰高效,它特别适用于C... 阅读全文
posted @ 2006-06-09 22:23 しovのんeТs 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 差不多每天都有人问“什么是 XML”,“XML 能做什么”,“XML 能不能替我做这个”, “XML 会取代什么” 等等诸如此类的问题。由于最近一段时间稍微对 xml 使用了一下, 我来谈谈自己的感觉。这些经验都很浅显,任何一个用过 xml 的人都有,并且见仁见智, 只不过我算刚刚走过这段路,对自己一开始的困惑,误解还记得清,所以拿出来和大家 分享一下。 我觉得初学者可能会... 阅读全文
posted @ 2006-06-09 22:20 しovのんeТs 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 使用属性,避免将数据成员直接暴露给外界 学习研究.NET的早期,经常碰到一些学习C#/.NET的朋友问,要属性这种华而不实的东西做什么?后来做项目时也时常接到team里的人的抱怨反馈,为什么不直接放一个public字段?如: class Card { public string Name; } 而要做一个private字段+public属性 class Card { private st... 阅读全文
posted @ 2006-06-09 22:18 しovのんeТs 阅读(136) 评论(0) 推荐(0) 编辑
摘要: while( blistener ) //循环侦听 { string sMessage = srRead.ReadLine();//从网络基础数据流中读取一行数据 if ( sMessage == "STOP" ) //判断是否为断开TCP连接控制码 { tlTcpListen.Stop(); //关闭侦听 nsStream.Close(); //释放资源 srRead.Close(); stat... 阅读全文
posted @ 2006-06-09 22:16 しovのんeТs 阅读(193) 评论(0) 推荐(0) 编辑
摘要: Socket基本编程 服务端: using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; Thread mythread ; Socket socket; // 清理所有正在使用的资源。 protected override void Dispose( bool disposing ... 阅读全文
posted @ 2006-06-09 22:15 しovのんeТs 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 简介 此功能适用于后台数据库功能不强的web站点,即大部分文本不是存放在数据库的记录中,而是放在html文件或者xml文件中,仅仅把索引放到数据库中,如文章标题、类别、查询关键字等。这样适合于后台没有诸如MS Sql Server这样的数据库支持的Web站点。 适用于新闻发布系统,比如sina、163等都是采用动态生成html页面的。 适用于需动态定制页面的程序。比如论坛、聊天室等。... 阅读全文
posted @ 2006-06-09 22:09 しovのんeТs 阅读(108) 评论(0) 推荐(0) 编辑