C#.NET
文章平均质量分 78
quanweiru
做工夫 闹时炼心 静时养心 动时制心 行时验心 但说者易 行者难
展开
-
Visual C# 2005 CSC编译器(参数)选项
E:/>csc/helpMicrosoft (R) Visual C# 2005 编译器 版本 8.00.50727.1433用于 Microsoft (R) Windows (R) 2005 Framework 版本 2.0.50727版权所有 (C) Microsoft Corporation 2001-2005。保留所有权利。 Visual C#原创 2009-06-05 10:52:00 · 600 阅读 · 0 评论 -
C# 委托,事件 实例
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace OnKeyDown{ class Program { static void Main(string[] args) { //实例化一个事件发送器原创 2009-09-29 12:49:00 · 552 阅读 · 0 评论 -
C# 委托,事件 实例
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace OnKeyDown{ class Program { static void Main(string[] args) { //实例化一个事件发送原创 2009-09-29 12:53:00 · 627 阅读 · 0 评论 -
.net中的委托(Delegate)
定义委托是一种数据结构,它引用静态的方法或引用类实例和该类的实例方法。委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托类型派生自System.Delegate,可使用该类的所有已定义的方法和属性。具有多个方法的委托派生自System.MulticastDelegate。委托的类型由委托的名称定义声明了一个名为delegatePro原创 2009-09-29 12:55:00 · 660 阅读 · 0 评论 -
“超时时间已到…所有池连接都已被使用并已达到最大池大小”问题
问题描述:超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小。问题分析:问题的原因是与数据库的连接没有显示关闭,而等系统自动回收是要时间的.解决方案:1.在代码里面,把未关闭的连接关闭2.扩大共享池,方法如下:2.1修改连接池的连接生存期因为默认值是60秒,即连接从应用程序被释放后可以在池中保存的时间。 如果是ODBC的话 则可以在OD原创 2009-09-29 13:12:00 · 1461 阅读 · 0 评论 -
.NET中GET与SET的用法(属性)
get是读取属性时进行的操作,set是设置属性时进行的操作。定义一个属性如果只有get,这个属性就是只读的。同样,只有set,属性就是只写的,当然只写的属性是没有任何意义的。 假设类是一个银行,既能存钱也能取钱.private m_money;private class bank() { get { return m_money;原创 2009-09-29 13:14:00 · 1155 阅读 · 0 评论 -
Page_Prerender
它是asp.net页面的OnPreRender事件的处理程序。此事件是定义在Control类中的,因为Page类(aspx页面的基类)继承的是System.Web.UI.WebControl类,而WebControl类继承的是所有控件的基类Control,此事件是定义在Control中的。 OnPreReader事件是在页面已经执行完所有后台代码,并且在生成标准HTML代码前,将原创 2009-09-29 13:15:00 · 820 阅读 · 0 评论 -
VS2008水晶报表发布部总结
一、 安装运行时支撑文件如果你安装了VS2008,那么可以找到如下目录:C:/Program Files/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/CrystalReports10_5此目录下有如下文件: COPY到服务器上根据服务器CPU情况选择性地安装一下。二、 将WEB项目打包成安装程序原创 2009-09-26 01:29:00 · 691 阅读 · 0 评论 -
c#的结构类型也可以有构造函数
protected struct FlareData { /// /// Type of flare, see above. /// public int type; /// /// Position of flare (1=orig原创 2009-09-29 12:38:00 · 646 阅读 · 0 评论 -
C# 接口详解
一、接口的定义 如上MSDN上对接口的定义,接口只包含方法、委托或事件的签名。这句话用更通俗点的解释便是,接口只是负责完成定义的操作,而不去实现具体的细节。如下面的IPlayer接口,它是一个玩游戏的接口,里面只是定义了相应的方法,而不带方法的具体实现,代码如下: 下面是定义 1/**//// 2/// 玩游戏接口3/// 4public原创 2009-09-29 12:40:00 · 855 阅读 · 0 评论 -
C# 接口与工厂
针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求. 举个例子:某公司有一台特殊打印机,还可以使用一年,一年后可能换为另一种打印机,这两种打印机都特殊而贵.所以现在的程序希望换了打印机后也少量修改就可用. 方法: 1,定义一个打印机接口. 2,定义打印机类A,B,分别实现此接口. 3,定义一个工厂类,在类中可选择返回由A实现的原创 2009-09-29 12:41:00 · 692 阅读 · 0 评论 -
C#中接口多重继承的注意事项
经常,一个类会实现多个接口,比如用户的一个控件继承自"IEdit"和"ICombo",每个接口无疑都有一个Paint方法来供子类实现如何画他们,但是多重继承就会出现问题,默认情况下,C#止允许实现Paint方法。现在有一个比较钻牛角尖的问题,如何在派生的类里面实现这两个接口的相同名称的方法呢? 通过试验,翻阅MSDN,我总结了这么几条规律: 本文可参考 MSDN 配合理解 1。要原创 2009-09-29 12:42:00 · 604 阅读 · 0 评论 -
抽象类(一)
在定义类的前面加上关键字abstract,那么这个类就是抽象类了,抽象类本身无法产生实例对象,而且抽象类包含了一个以上的抽象方法,这些方法只是提供函数名称,并没有定义如何具体实现,由继承的派生类实现,派生类同时必须实现所有抽象类的方法,否则其本身将成为另外一个抽象类。需要我们注意的一点是,当派生类重写抽象类的方法时,要使用override关键字来重写抽象类所定义的方法。下面我们就来通过范例来理解抽原创 2009-09-29 12:54:00 · 553 阅读 · 0 评论 -
ASP.NET的Page.IsPostBack 属性
现在从对ASP.NET页面的执行顺序开始,体会一下B/S结构的程序的特点,下图是ASP.NET页面的执行顺序说明: Page_Init(页面初始化引发的事件)——>Page_Load(加载页面时引发的事件)——>Control Event(服务器控件引发的事件)——>Page_UnLoad(页面从内存中卸载时引发的事件) Page_Init和Page_UnLoad不常用,但是这里还是要说明原创 2009-09-29 12:55:00 · 520 阅读 · 0 评论 -
AjaxPro在ASP.NET中的应用简介
1、首先下载AjaxPro 组件。并将AjaxPro.dll引用到网站(或项目)。2、修改Web.config。在 元素中添加以下代码。 ajax handler --> ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/> 3、对AjaxPro在页Page_Load事件中进原创 2009-09-29 12:58:00 · 471 阅读 · 0 评论 -
C#访问修饰符总结
C#共有五种访问修饰符:public、private、protected、internal、protected internal。访问修饰符说明public公有访问。不受任何限制。private私有访问。只限于本类成员访问,子类,实例都不能访问。protected保护访问。只限于本类和子类访问,实例不能访问。原创 2009-09-29 12:44:00 · 539 阅读 · 0 评论 -
c# 多态性
首先理解一下什么叫多态。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。多态性通过派生类覆写基类中的虚函数型方法来实现。 多态性分为两种,一种是编译时的多态性,一种是运行时的多态性。编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。运行时的多态性:运行时的多态性就是原创 2009-09-29 12:35:00 · 459 阅读 · 0 评论 -
C#的结构类型
利用上面介绍过的简单类型,我们在进行一些常用的数据运算、文字处理似乎已经足够了。但是我们会经常碰到一些更为复杂的数据类型。比如,通讯录的记录中可以包含他人的姓名、电话和地址。如果按照简单类型来管理,每一条记录都要存放到三个不同的变量当中,这样工作量很大,也不够直观。有没有更好的办法呢?正如上面的例子,在实际生活中,我们经常把一组相关的信息放在一起。把一系列相关的变量组织成为一个单一实体的原创 2009-06-05 14:28:00 · 965 阅读 · 0 评论 -
彻底理解C#中值类型和引用类型的区别
概念:1.值类型:数据存储在内存的堆栈中,从堆栈中可以快速地访问这些数据,因此,值类型表示实际的数据。2.引用类型:表示指向存储在内存堆中的数据的指针或引用(包括类、接口、数组和字符串)。区别:基本区别在于它们在内存中的存储方式。值类型只将值存放在内存中,这些值类型都存储在堆栈中。原始数据类型(如bool和int)都属于此类型。而引用类型的内存单元中只存放内存堆中对象的地址,而对象原创 2009-06-05 14:58:00 · 978 阅读 · 1 评论 -
使用csc.exe构建C#应用程序
CSC是什么呢?CSC就是 C-Sharp Compiler (中文就是C#编译器)。 在我刚接触C#的时候,就看见过这个东西,可当时给我感觉就是既然有VS .Net在,还干什么去用这玩意呢。尽管在日后的使用中,我还没有碰到过不得不使用它来构建工程的情况,但是当看见其它玩JAVA或其它语言的朋友,用记事本写了简单的几句代码,然后调用命令行进行编译,就可以看见自己想要的效果。心里就特别扭。原创 2009-06-05 15:03:00 · 742 阅读 · 0 评论 -
浅谈C#中的枚举
浅谈C#中的枚举 枚举类型是一种的值类型,它用于声明一组命名的常数。 (1)枚举的声明:枚举声明用于声明新的枚举类型。 访问修辞符 enum 枚举名:基础类型 { 枚举成员 } 基础类型必须能够表示该枚举中定义的所有枚举数值。枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意原创 2009-06-05 14:25:00 · 420 阅读 · 0 评论 -
值类型与引用类型关系
引用类型包括:类(class)、接口(interface)、数组(array)、委托(delegate)、object和string。其中草药object和string是两个比较特殊的类型。string类型是一个从object类直接继承的密封类型,不能再被继承,其实例表示Unicode字符串。可以把值类型与引用类型的值赋给object类型变量,因为object是C#中所有类型(包括所有的值类原创 2009-06-05 15:20:00 · 756 阅读 · 0 评论 -
sealed 修饰符是干什么的
sealed 修饰符表示密封用于类时,表示该类不能再被继承,不能和 abstract 同时使用,因为这两个修饰符在含义上互相排斥用于方法和属性时,表示该方法或属性不能再被重写,必须和 override 关键字一起使用,因为使用 sealed 修饰符的方法或属性肯定是基类中相应的虚成员通常用于实现第三方类库时不想被客户端继承,或用于没有必要再继承的类以防止滥用继承造成层次结构体系混乱原创 2009-09-29 12:34:00 · 670 阅读 · 0 评论 -
抽象类(二)
abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。 在此例中,类 Square 必须提供 Area 的实现,因为它派生自 ShapesClass: abstract class ShapesClass { ab原创 2009-09-29 12:36:00 · 507 阅读 · 0 评论 -
C#中抽象类和接口的区别与使用
一、抽象类:抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。二、接口:接口是引用类型的,类似于类,和抽象类的相似之处有三点:1、不能实例化原创 2009-09-29 12:37:00 · 461 阅读 · 0 评论 -
C#中的结构与类
总结起来,两者共有如下区别:1、结构是值类型,类则是引用类型。因此前者是放在栈(Stack)里,后者则仅仅是将引用地址存放在栈里,而具体的值则存放在堆(heap)里。如下图所示:2、据第1点可以得出结论,那就是类对象通常用来传递大数据,而结构对象则用来传递小数据。3、类可以被继承,而结构则不支持。4、结构对象不能像类对象一样赋值为null。5、结构不能像类一样定义析构器。原创 2009-09-29 12:39:00 · 409 阅读 · 0 评论 -
ASP.NET编程中static变量作用域
在C#中,static变量表示该变量属于类,而不是类的实例。可以说是该类的所有实例共享一个static变量。 asp.net的页面就是一个类,我们访问一个页面。就会在服务器上实例化一个该类的实例,来响应我们的请求。 “所有实例共享一个static变量” 这就意味着,所有的客户端访问到的asp.net页面中static变量都是同一个变量。 由于我们每次访问asp.net页面都是一个原创 2009-09-29 12:45:00 · 521 阅读 · 0 评论 -
asp.net(c#) static关键字用法小结
静态变量 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。 有时候,我们希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有国家名称,每一个中国人都共享这个国家名称,不必在每一个中国原创 2009-09-29 12:49:00 · 554 阅读 · 0 评论 -
接口的用途
很多刚刚接触C#时都会很难理解接口这种类型是作什么用途,我个人认为,理解接口是理解Frnamework框架的一个重要前提。言归正传,接口究竟可以做些什么?先看看以下代码:using System;namespace Test{ interface IShowMessage { void Show(string strMesg); } class D原创 2009-09-29 13:16:00 · 1019 阅读 · 0 评论 -
控件命名规范
Data Control类 型前 缀示 例AccessDataSourceadsadsPubsDataListdlstdlstTitlesDetailViewdvwdvwTitlesFormViewfvwfvwFontsGridViewgvwgvwCityObje原创 2009-09-23 20:39:00 · 1883 阅读 · 1 评论 -
C#中的一些访问修饰符
一. 继承基础知识 为了提高软件模块的可复用性和可扩充性,以便提高软件的开发效率,我们总是希望能够利用前人或自己以前的开发成果,同时又希望在自己的开发过程中能够有足够的灵活性,不拘泥于复用的模块。C#这种完全面向对象的程序设计语言提供了两个重要的特性--继承性inheritance 和多态性polymorphism。 继承是面向对象程序设计的主要特征之一,它可以让您重用代码,可以节省程原创 2009-09-29 08:26:00 · 864 阅读 · 0 评论 -
ASP.NET2.0中FileUpload控件的使用(即ASP.NET2.0中如何上传文件)
第一步:新建一个FileUpload.aspx页面。第二步:在FileUpload.aspx页面中放入FileUpload控件,Button控件及Label控件[用于显示上传文件的相关信息,如类型,大小等]第三步:在D盘上建一文件夹upload,并设置其权限为可读可写[具体设置请自行参考其它书籍]。第四步:编程。在页面上双击Button控件,编写Button1_Click事件,程序如下原创 2009-09-29 13:12:00 · 672 阅读 · 0 评论