これは、それを引き起こしているものです:あなたは完全に新しいオブジェクトを毎回インスタンス化した場合
ClassA da = new ClassA();
は、もちろん、あなたは毎回オブジェクト移入を再する必要があるとしています。
オブジェクトにデータを入力するために使用するデータはどこにありますか?そのデータは変更されますか?
データが静的である場合は、試すために迅速かつ簡単な事は、フィールドを静的にすることです:
public static IDictionary<string, DataSet> DataDic { get; set; }
次に、あなたは一度だけ、それを設定し、それがそのデータを保持します。設定は少し異なります。あなたはクラス型そのものを呼びたい、クラスのインスタンスを呼び出すことはありません。
ClassA.DataDic = new Dictionary<string, DataSet>();
ClassA.DataDic.Add("Key1",".......");
// ...
これは、このデータは/ etc /使用フェッチする方法に応じて、大幅な設計変更することがあります。したがって、この質問の文脈の中で私たちが見ていないような不利な点があるかもしれません。
別のオプションはそれにそれがある方法を維持することですが、再要因は、オブジェクトのコンストラクタへのデータの移入:これは外側にクラスの構造を保持
public class ClassA
{
public IDictionary<string, DataSet> DataDic { get; private set; }
public ClassA()
{
DataDic = new Dictionary<string, DataSet>();
DataDic.Add("Key1",".......");
// ...
}
}
は、ただの移入を移動しますデータをコード内の単一の場所に保存します。ただし、データは、まだクラスの新しいインスタンスごとにが再入力されています。したがって、をとすると、最初のデータは重いプロセスであり、複数回は起こらないようにしてください。このアプローチでは行きたくないかもしれません。
あなたがそれを見る方法は長所と短所があります。そして、その多くは、この質問の文脈外の要因と関係しています。
(このコードでは大文字で始まる大文字の大文字を変更していますが、これはC#の慣用的な標準です。このページのハイライト表示のコードでは、 C#の標準は、クラスを大文字にすることを期待することです。)
現在使用しているコードを表示できますか?おそらくもっと良い方法がありますが、まずは_current_を知る必要があります。 – David
サンプルコード – tdjfdjdj
で更新されましたあなたのタグ付けは私にとって間違っています。 asp classicはpre-.netです。 – CodesInChaos