当前位置:编程学习 > C#/ASP.NET >>

c#怎么调用类里的成员?

 class GlobalVariable    {          static public Hashtable table = new Hashtable(); private GlobalVariable()        {        }
        public static object GetValue(object akey)        {            return table[akey];        }        public static void SetValue(int akey, object avalue)        {            table[akey] = avalue;        }        public static void Remove(object akey)        {            table.Remove(akey);        }    }调用过程:            GlobalVariable.SetValue( 1,"txtData.Text");//把数据存进table[1];            GlobalVariable.GetValue(1);//取出数据,放到table[1]            GlobalVariable.table[1];//这里不应该是数据了吗?但是提示错误错误 CS0201: 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句
答案:动态类,new一个类的实例,就可以用 “实例名.成员”名来调用了。

静态类,直接用 ”类名.成员名“ 就可以调用了。


动态方法与静态方法的区别:
1,使用方法上的区别:
动态方法,在使用时需要先创建实例,才能调用实例方法,而静态方法则不需要,直接使用即可。

示例代码如下:
静态方法不需要实例化类就能调用

class ClassA
    {
        public static string MethodB()
        {
            return "Hello World";
        }
    } 

用法:
ClassA.MethodB(); //调用方便  

动态的方法在使用前,必须先实例化类

class ClassA
    {
        public string MethodB()
        {
            return "Hello World";";
        }
    } 

用法:
ClassA A=new ClassA();
A.MethodB();

2,性能上的区别:
静态方法效率要稍微高一些,但是它会常驻内存,占用内存空间,而动态方法在调用完后会自动释放,节省内存空间。

什么情况下使用动态方法,什么情况下使用静态方法:
1,使用静态方法是有好处的,因为静态方法只维护一份拷贝,所以无论你有多少个实例,内存中都只会有一份拷贝。

2,使用频繁的方法用静态方法,比如数据库操作类,我们就是使用静态方法。使用的少的方法用动态的。因为静态的速度快,但占内存,就像是缓存一样,经常用的数据我们应该应该将它们缓存起来。动态方法的调用速度相对慢些,但调用完后,会立即释放类,节省内存。

用户可以根据自己的需要选择是用动态方法还是静态方法。

本文来源于: http://www.lmwlove.com/ac/ID538

 class GlobalVariable 改成  public class GlobalVariable 

这是静态的,当然不能实例,直接取就行,当成构造方法

你这个是静太方法,需要静态类调用。public static class GlobalVariable    {}

上一个:c# 中的dataset是什么?
下一个:C# 启动调试时, 缺少调试目标

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,