• Asp.Net程序调用类中定义的方法的有关问题


    以前在调用类中定义的方法的时候,总会遇到一个问题:

    类中定义的方法,有的需要实例化之后,智能提示的列表里才会显示出来自己在类文件中所定义的方法,而有的时候,类不需要实例化,智能提示的列表中也会显示出来定义的方法,同样是类中定义的方法,为什么有的需要实例化才能使用,而有的方法,却不需要实例化,就可以直接使用呢?

    今天我终于明白了这个问题,在这里说明一下,一方面提醒自己记住这个问题,以后遇到这种情况时,不用再去纳闷;一方面也把我的心得共享出来,共同学习,呵呵……

    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定义的方法,因为不是静态的,所以必须通过实例化的方法,来进行调用。
  • 相关阅读:
    Shell 脚本读取文件中的每行
    Linux中的内存管理机制
    CPU Cache 学习(一)
    linux系统层次(转)
    linux下的一些常用命令
    几个关于Linux进程fork()的题目
    GDB调试工具
    POSIX thread library 简介I
    Scheme Programming language II
    Google Chrome浏览器标签页之间的自动切换
  • 原文地址:https://www.cnblogs.com/kdkler/p/2030075.html
Copyright © 2020-2023  润新知