c#的全局变量解决方法

来源:互联网 发布:cn域名ns记录 编辑:程序博客网 时间:2024/04/30 23:08

c#的全局变量解决方法       

 在c/c++中全局变量是一种可以在程序任何位置上都可以使用的变量,那么c#中有没有类似的全局变量呢?答案上否定的,在c#中不存在全局变量的概念。       

          但是可以借签c#中的另外一种技术实现类似于全局变量的概念,既静态类和静态方法。定义静态类和静态变量的关键字是static,该关键字的使用属于c#语言面向对象编程中的高级内容,此处不做详细的介绍,只是提供一个实现全局变量的方法。          如果要在程序中使用一个全局变量name,此变量存储着字符串’yang’,需要在程序中的任何位置都可以访问这个name值,而且name值不会发生改变,则这个name就属于全局变量的特点,在c#中可以如下实现:       Public static class MyMame       {          Private static string name=”yzh”;          Public static string Name         {             Get{Return name;}         }       }       当要使用这个变量的时候,可以使用MyMame.Name直接获得值”yzh”;       String authorname= MyMame.Name;       在项目开发中,可以专门建立一个Common类,用于放置具有全局变量特性的数据。          我就是用一个内在的类来管理全局变量,不过我是把做成属性来保存数据的,有些数据需要保存供所有子窗口利用,比如主窗口frmMain,还有就是数据库连接字符串也是全局的,       internal class Globals       {       private static frmMain _frmMain = null;       private static string m_ConnectionString = "Data Source=ulc-sales-02;Initial Catalog=erp_data;User ID=sa;pwd=123456;Integrated Security=True";//全局变量        #region 全局属性       public static frmMain FormMain       {       get { return _frmMain; }       set { _frmMain = value; }       }       public static string ConnectionString       {       get { return m_ConnectionString; }       set { m_ConnectionString = value; }       }

 

#endregion       }       c#中有没有全局变量啊?如果有怎么申明?如果没有,我要是把一个变量存到缓存中,在WINDOWS编程中如何实现?我知道在web中可以用SESSION的方法。       ---------------------------------------------------------------       用静态成员来作全程变量      ---------------------------------------------------------------       你可以用一个相关存放该变量的类,然后在该类中添加一个静态的成员变量,或者加一个常量也可以,然后用的时候直接对该类进行访问即可。      ---------------------------------------------------------------       C#中没有全局变量,但可以使用命名空间和静态变实现类似功能      下面的例子定义了一个用户类,初始化用户名后,在filetobase命名空间的其它类都可以获得用户名      namespace FileToBase{       public class user      {        private static string userName;         public user(string name)        {           userName=name;         }            public static string UserName          {      get      {         return userName;      }          }       }      }

原创粉丝点击