编程技巧 - 文章列表

  • C#箴言之用属性来访问类的私有成员

    在程序中,难免要访问某个对象的私有成员。那么以前实现这类功能的方法有两种,第一种方法最简单,就是把成员访问符从“private”改为“public”即可;而另一个就是提供公有的成员访问函数来进行访问。那么现在用C#编写程序,就不再需要采用前面所说的两种方法了,而直接使用属性来完成。   首先来看看三种方法的如何实现以及调用的,这里用一个例子来说明,即访问“EmployeeInfo”类的私有成员strName,具体如下表格所示。private string strName;\n访问方法修改成员访问符\n修改:private string strName;为:public string strNa

  • 关于.NET动态代理的介绍和应用简介

    引言  假如现在我们有这样在这个示例中我将使用尽可能简单的逻辑实现所有功能需求,这将更突出我们所要解决的核心问题。例子是一个简单计算器类: \npublic class Calculator{ public int Add(int x, int y) { return x + y; }}

  • C#中父窗口和子窗口之间实现控件互操作

    很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可。   下面重点介绍前一种,目前常见的有两种方法,基本上大同小异:  第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如:\npublic static yourMainWindow pCurrentWin = null;

  • C#程序设计入门经典之C#的基本语法

    C#代码的外观和操作方式与C++和Java非常类似。初看起来,其语法可能比较混乱,不像书面英语和其他语言。但是,在C#编程中,使用的样式是比较清晰的,不用花太多的力气就可以编写出可读性很强的代码。  与其他语言的编译器不同,无论代码中是否有空格、回车符或tab字符(这些字符统称为空白字符),C#编译器都不考虑这些字符。这样格式化代码时就有很大的自由度,但遵循某些规则将有助于使代码易于阅读。  C#代码由一系列语句组成,每个语句都用一个分号来结束。因为空格被忽略,所以一行可以有多个语句,但从可读性的角度来看,通常在分号的后面加上回车符,这样就不能在一行上放置多个语句了。但一句代码放在多个行上是可

  • 浅析CMS内容管理系统的两种方案

    目前市面上成熟的CMS产品有很多,无外乎两种解决方案:第一种就是用XSL+XML的方式来实现客户端具体数据;第二种是生成HTML或者SHTML来实现。  设计阶段的想法是,用XSL来实现文章和内容的模版,用XML来存储数据,生成静态的HTML或SHTML。到实际应用中发现了HTML转换的问题,用XSL+XML生成HTML时,XML内容中不需要进行转化的内容,使用CDATA,在XSL文件中引用部分使用disable-output-escaping=”yes”,生成HTML时照样将html代码进行了解析,例如<变成了<等等,我们还要对此再进行一边转码,但是还要

  • ASP.NET 2.0的页面缓存功能介绍

    页面部分缓存是指输出缓存页面的某些部分,而不是缓存整个页面内容。实现页面部分缓存有两种机制:一种是将页面中需要缓存的部分置于用户控件(.ascx文件)中,并且为用户控件设置缓存功能(包含用户控件的ASP.NET页面可设置也可不设置缓存)。这就是通常所说的“控件缓存”。设置控件缓存的实质是对用户控件进行缓存配置。主要包括以下3种方法:一是使用@ OutputCache指令以声明方式为用户控件设置缓存功能,二是在代码隐藏文件中使用PartialCachingAttribute类设置用户控件缓存;三是使用ControlCachePolicy类以编程方式指定用户控件缓存设置。另外,还有一种称为“缓存后

  • Visual C#2005快速入门之声明bool变量

    与现实世界不同,在编程的世界中,每一件事情要么黑,要么白;要么对,要么错;要么是真的,要么是假的。例如,假定你创建一个名为x的整数变量,把值99赋给x,然后问:“x中包含了值99吗?”答案显然是肯定的。如果你问:“x小于10吗?”答案显然是否定的。这些正是布尔(Boolean)表达式的例子。一个布尔表达式肯定求值为true或false。   注意 对于这些问题,并非所有编程语言都会做出同样的回答。例如,一个未赋值的变量有一个未定义的值,不能说它肯定小于10。正因为此,新手在写C和C++程序时容易出错。Microsoft Visual C#编译器解决这个问题的方案是确保在检查

  • URL重写实现IHttpHandler接口

    以前用url重写时是用的ms urlrewriter,用了以后发现了很多不足,自定义功能太弱,而且随着重写规则的增加,web.config可能会越来越大,实际上,url重写就是实现IHttpHandler接口.\n整个流程分二步走:\n1、用一个xml文件来存储重写规则,其中这些规则是一些简单的正则表达式2、实现IHttpHandler接口\n首先看一下xml文件的格式:\n<?xml version=”1.0″ encoding=”utf-8″ ?> <root> <regex> <!–重写以后的虚拟

  • ASPX接收WINDOWS应用程序以POST方式发来的信息并存成文件

    我这个笨蛋终于调出来了。。。不要问我调出了啥,都写在标题上了。。。。赶紧写下来,然后睡觉。。。。\n目前已经尝试了ASP,JS,C++,C#,前三个都有数月甚至数年的经验了,争取把最后一个也搞大。。。。\n接下来搞啥?\n切入正题。。。\nWindows端应用程序\n1,首先建立两个POST变量,这两个POST变量模拟ASP中的Form的name~~~(我瞎试的,果然是模拟form)\nSystem.Net.WebClient WebClientObj=new System.Net.WebClient();System.Collections.Specialized.NameValueColl

  • ASP.NET 2.0中的页面输出缓存

    静态页面全部内容保存在服务器内存中。当再有请求时,系统将缓存中的相关数据直接输出,直到缓存数据过期。这个过程中,缓存不需要再次经过页面处理生命周期。这样可以缩短请求响应时间,提高应用程序性能。很显然,页面输出缓存适用于不需要频繁更新数据,而占用大量时间和资源才能编译生成的页面。对于那些数据经常更新的页面,则不适用。默认情况下,ASP.NET 2.0启用了页面输出缓存功能,但并不缓存任何响应的输出。开发人员必须通过设置,使得某些页面的响应成为缓存的一部分。  设置页面输出缓存可以使用以下两种方式:一种是使用@ OutputCache指令,另一种是使用页面输出缓存API。@ OutputCache