zoukankan      html  css  js  c++  java
  • 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定义的方法,因为不是静态的,所以必须通过实例化的方法,来进行调用。
  • 相关阅读:
    【转】Visual studio 快捷键大全
    C++ 中的权限控制
    论C++11 中vector的N种遍历方法
    c++ 模板仿函数初探
    OBS (open boardcast server)结构分析
    OpenCV学习笔记:opencv_core模块
    [转]C++ new操作符详解
    进程已经被attach debug,如何解除其debug权限?
    dll 在进程中怎么区分的
    树状数组学习笔记
  • 原文地址:https://www.cnblogs.com/kdkler/p/2030075.html
Copyright © 2011-2022 走看看