Asp.Net程序调用类中定义的方法的有关问题
2011-04-27 10:15
363 查看
以前在调用类中定义的方法的时候,总会遇到一个问题:
类中定义的方法,有的需要实例化之后,智能提示的列表里才会显示出来自己在类文件中所定义的方法,而有的时候,类不需要实例化,智能提示的列表中也会显示出来定义的方法,同样是类中定义的方法,为什么有的需要实例化才能使用,而有的方法,却不需要实例化,就可以直接使用呢?
今天我终于明白了这个问题,在这里说明一下,一方面提醒自己记住这个问题,以后遇到这种情况时,不用再去纳闷;一方面也把我的心得共享出来,共同学习,呵呵……
1.新建一个类文件,名称为 test.cs;
2.在这个类文件中定义两个方法,代码如下(注意:前一个是静态的,后一个不是静态的):
/// <summary>
/// 定义一个静态的方法connstr();
/// </summary>
/// <returns></returns>
public static string connstr()
{
return "正确";
}
/// <summary>
/// 定义一个方法connstr2();
/// </summary>
/// <returns></returns>
public string connstr2()
{
return "错误";
}
3.然后,新建一个页面(在winfom程序中也可以的),并在页面上放两个个button按钮和两个label控件,如图:
双击 btn1 按钮,生产button的click事件,在里面写代码:
label1.text=Test.connstr2().Tostring();
双击 btn2 按钮,生产button的click事件,在里面写代码:
test myTest=new test();
label1.text=myTest.connstr().Tostring();
运行程序,就可以看到结果了。这时候你就知道问题的所在了,connstr定义的是一个静态的方法,说明这个方法只能通过类来访问,不能通过对象实例来访问;而connstr2定义的方法,因为不是静态的,所以必须通过实例化的方法,来进行调用。
类中定义的方法,有的需要实例化之后,智能提示的列表里才会显示出来自己在类文件中所定义的方法,而有的时候,类不需要实例化,智能提示的列表中也会显示出来定义的方法,同样是类中定义的方法,为什么有的需要实例化才能使用,而有的方法,却不需要实例化,就可以直接使用呢?
今天我终于明白了这个问题,在这里说明一下,一方面提醒自己记住这个问题,以后遇到这种情况时,不用再去纳闷;一方面也把我的心得共享出来,共同学习,呵呵……
1.新建一个类文件,名称为 test.cs;
2.在这个类文件中定义两个方法,代码如下(注意:前一个是静态的,后一个不是静态的):
/// <summary>
/// 定义一个静态的方法connstr();
/// </summary>
/// <returns></returns>
public static string connstr()
{
return "正确";
}
/// <summary>
/// 定义一个方法connstr2();
/// </summary>
/// <returns></returns>
public string connstr2()
{
return "错误";
}
3.然后,新建一个页面(在winfom程序中也可以的),并在页面上放两个个button按钮和两个label控件,如图:
双击 btn1 按钮,生产button的click事件,在里面写代码:
label1.text=Test.connstr2().Tostring();
双击 btn2 按钮,生产button的click事件,在里面写代码:
test myTest=new test();
label1.text=myTest.connstr().Tostring();
运行程序,就可以看到结果了。这时候你就知道问题的所在了,connstr定义的是一个静态的方法,说明这个方法只能通过类来访问,不能通过对象实例来访问;而connstr2定义的方法,因为不是静态的,所以必须通过实例化的方法,来进行调用。
相关文章推荐
- asp.net调用word的过程中出现的问题及其解决方法
- 在IIS7.5中ASP.NET调用cmd程序拒绝访问决绝方法小记
- 关于asp.net前台js调用后台方法的问题
- 有关ASP的过程及函数的定义方法及调用
- ASP程序中调用JavaScript中getYear()方法显示时间浏览器兼容显示错误问题
- 在IIS7.5中ASP.NET调用cmd程序拒绝访问决绝方法小记
- 关于asp.net中ajax的问题:AjaxControlToolkit 未定义的解决方法
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
- JAVA+AXIS客户端调用Asp.net Web Service过程中遇到的问题及解决方法
- asp.net中eval不能定义变量的问题的解决方法
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- asp.net中eval不能定义变量的问题的解决方法
- asp.net程序在调式和发布之间图片路径问题的解决方法
- 问题:调用 ASP.Net Core WebAPI的HTTP POST方法时,从 [FromBody] 中读取的 MongoDB GeoJsonObjectModel成员总是null
- asp.net程序在调式和发布之间图片路径问题的解决方法
- [置顶] Ajax程序:处理异步调用中的异常(使用Asp.Net Ajax内建的异常处理方法)
- ASP.NET jQuery 食谱23 (jQuery AJAX实现调用页面后台方法和web服务定义的方法)
- webservice方法内用了session,asp.net调用时注意问题
- 类型:Jquery;问题:jquery调用后台带参数方法;结果:利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。
- asp.net 用户控件 调用js问题解决方法