asp.net(c#) static关键字用法小结
静态变量
当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。
有时候,我们希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都单独分配一个用于代码国家名称的变量。例子:
protected void Page_Load(object sender, EventArgs e)
{
//直接使用“类名.成员”的格式,不能使用“对象名.成员”的格式,这点与JAVA不一样,JAVA两种都可以使用
Response.Write(Chinese.Country);
}
class Chinese
{
public static string Country = "中国";
public void getCountry()
{
//类中的成员方法也可以直接访问静态成员变量
HttpContext.Current.Response.Write("你好!" + Country);
}
}
需要注意的是:不能把任何方法体内的变量声明为静态,如下面这样是不行的:
public void getCountry()
{
//类中的成员方法也可以直接访问静态成员变量
HttpContext.Current.Response.Write("你好!" + Country);
static int i = 1;
}
静态方法
我们有时也希望不必创建对象就可以调用某个方法,换句话说也就是使该方法不必和对象绑定在一起。要实现这样的效果,只需要在类中定义的方法前加上static关键字就可以了,我们称这种方法为静态成员方法,还可以在类的非静态成员方法中象访问其他静态方法一样去访问这个静态方法,例子:
protected void Page_Load(object sender, EventArgs e)
{ &nb
相关文档:
方法一:
HtmlProxy.cs:
using System.Text;
using System.IO;
/// <summary>
/// HtmlProxy 的摘要说明
/// </summary>
public class HtmlProxy
{
public HtmlProxy()
{
//
......
比如用一个类描述一张合同,而这个类实例化后其中的字段保存着合同的信息,如果现在要把这个类的实例发送到另一台机器、另一个窗体或是想保存这个类以便以后再取出来用(持久化对象),可以对这个类进行序列化(序列化实际上是一个信息流),传送或保存,用的时候再反序列化重新生成这个对象
为什么您想要使用序列化 ......
有很久一段时间我的BLOG上没有出现AJAX相关讯息了,主要当然是因为绝大部分的重心都放到了Silverlight身上(可预期的未来应该也会是如此)。
但由于工作上的需要,最近还是回头看了一下即将推出的ASP.NET Ajax Library...,顺便找了一下网络上的讯息,看这个态势我猜想应该不少ASP.NET开发人员忽略掉了这个其实已经bet ......
从来都很少写博,现在开始写写,方便自己用的时候不用搜索,或许还可以帮助到别人,何乐而不为呢?呵呵。
注意事项一:如果页面点击按钮无法触发验证控件的作用时,解决办法如下:
c:\WINNT\Microsoft.NET\Framework\v1.1.4322
1.开始菜单-->运行cmd
&nbs ......