用Singleton 模式试试。
public class QuoteManager
{
     private static QuoteManager _Instance = null;
     private QuoteManager() {}
     public static QuoteManager GetInstance() 
     {
          if (_Instance==null) 
          {
               _Instance = new QuoteManager ();
          }
          return _Instance;
     }
   
}

解决方案 »

  1.   

    我是一个数据库的操作我在构造函数例如初始化数据库的连接using System;
    using System.Data;
    using System.Data.SqlClient;namespace Intranet
    { public class DataConnection
    {
    private static string mstrDatabaseConn = "Persist Security Info=True;User ID=sa;Password=1234;Initial Catalog=dd;Data Source=(local)";
    private static Boolean mblnIfCanConnectionDatabase = false;
    private static SqlConnection mDatabaseConnection; public DataConnection()
    {
    //
    // TODO: Add constructor logic here
    //
    try
    {
    mDatabaseConnection = new SqlConnection(mstrDatabaseConn);
    mDatabaseConnection.Open(); mblnIfCanConnectionDatabase = true;
    }
    catch
    {
    mblnIfCanConnectionDatabase = false;
    }
    }

    public static Boolean IfCanConnectionDataBase
    {
    get
    {
    return mblnIfCanConnectionDatabase;
    }
    } public static SqlConnection DatabaseConnection
    {
    get
    {
    return mDatabaseConnection;
    }
    } }
    }我需要知道数据库是否连接,如果连接返回DatabaseConnection我想让他全局存在,但是没有办法public static class DataConnection报错谢谢
      

  2.   

    哪有那么烦的啊
    你作一个连接类
    然后,用的时候,把它设为public static就可以了啊
      

  3.   

    使用静态类看这篇文章
    http://www.csdn.net/Develop/read_article.asp?id=26436
    楼主上面的结构设计的不是不好,
    参考下面的试试。
    using System;
    using System.Data;
    using System.Data.SqlClient;namespace ZZ.DAL
    {
    /// <summary>
    /// SqlDbHelper 的摘要说明。
    /// </summary>
    public class SqlDbHelper
    {
    private static string strConn = "server=workflow;uid=sa;pwd=workflow123;database=Northwind";

    /// <summary>
    /// 获取单个值
    /// </summary>
    /// <param name="strSql"></param>
    /// <returns></returns>
    public static object ExecuteScalar(string strSql)
    {
    object o = null;
    SqlConnection myConn = new SqlConnection(strConn);
    SqlCommand myComm = new SqlCommand(strSql,myConn);
    try
    {
    myConn.Open();
    o = myComm.ExecuteScalar();
    }
    catch(Exception e)
    {
    e.ToString();
    }
    finally
    {
    myConn.Close();
    }
    return o;
    }
    /// <summary>
    /// 更新数据
    /// </summary>
    /// <param name="strSql"></param>
    public static int ExecuteNonQuery(string strSql)
    {
    int count = -1;
    SqlConnection myConn = new SqlConnection(strConn);
    SqlCommand myComm = new SqlCommand(strSql,myConn);
    try
    {
    myConn.Open();
    count = myComm.ExecuteNonQuery();
    }
    catch(Exception e)
    {
    e.ToString();
    }
    finally
    {
    myConn.Close();
    }
    return count;
    }
    /// <summary>
    /// 获取数据读取器
    /// </summary>
    /// <param name="strSql"></param>
    public static SqlDataReader ExecuteReader(string strSql)
    {
    SqlConnection myConn = new SqlConnection(strConn);
    SqlCommand myComm = new SqlCommand(strSql,myConn);
    myConn.Open();
    return myComm.ExecuteReader(CommandBehavior.CloseConnection);
    }

    /// <summary>
    /// 获取数据集
    /// </summary>
    /// <param name="strSql"></param>
    /// <returns></returns>
    public static DataSet ExecuteDataSet(string strSql)
    {
    DataSet ds = new DataSet();
    SqlConnection myConn = new SqlConnection(strConn);
    try
    {
    SqlCommand myComm = new SqlCommand(strSql,myConn);
    SqlDataAdapter myAda = new SqlDataAdapter(myComm);
    myAda.Fill(ds,"TableName");
    }
    catch(Exception e)
    {
    e.ToString();
    ds = null;
    }
    finally
    {
    myConn.Close();
    }
    return ds;
    }
    }
    }
      

  4.   

    在C# 2.0里面 将支持static类