0

誰かが私を正しい方向に向けるのを手伝ってくれることを願っています。Settings.Designer.cs ファイルで StackOverFlow エラーが発生していました。この投稿に従って手動でファイルを再生成しましたHERE今、私のデザイナーファイルは想定されているように見えるので、彼らは私に教えてくれますが、設定ファイルにアクセスしていたクラスライブラリ(30か所)のどこでもがスローされますObject reference is required error

これは他の人には明らかですか?私は何を間違っていますか、またはこれを修正するために何をする必要がありますか? 以下は、私の Settings.Designer.cs ファイルとクラス ライブラリの例です。

 public string CMOSQLConn {
        get {
            return ((string)(this["CMOSQLConn"]));
        }
    }

 public class SupportWorker
{
    public DataSet RetrieveSupportWorkers()
    {
        DataSet ds = new DataSet("table");
        SqlConnection cnn = new SqlConnection(Settings.CMOSQLConn);
        SqlCommand cmd = new SqlCommand("spSelectSupportWorkers", cnn) {CommandType = CommandType.StoredProcedure};
        SqlDataAdapter da = new SqlDataAdapter(cmd);

編集1

明らかに間違っていて、ただ正しいように見える場合は、誰かが指摘してくれることを期待して、これを投稿します。

--> のすべてのインスタンスを次のものに置き換えましSqlConnection cnn = new SqlConnection(Settings.CMOSQLConn);た -->SqlConnection cnn = new SqlConnection(Settings.Default.CMOSQLConn);

なぜそれが機能するのかわかりませんが....

4

1 に答える 1

1

設定クラスのすべてのプロパティはインスタンスプロパティです。それらを使用するには、Settingsクラスのインスタンスが必要です。これを行う標準的な方法は、Settingsクラスの静的Defaultプロパティにアクセスすることです。これにより、Settingsのインスタンスが返されます。そこから、個々のプロパティにアクセスできます。

デフォルトを使用せずに以前に機能していた場合...何かが深刻に間違っていました。

于 2009-05-28T00:01:20.907 に答える