オブジェクトが特定のコンストラクターを使用してインスタンス化されたかどうかの確認について質問があります。検索エンジンの一部である SearchWithTwoLevelCore というクラスがあります。次のようなコンストラクタがあります。
public SearchWithTwoLevelCache(ISearchCore s, ICurrentTimeProvider tp)
{
//Initialize the two levels.
S=s;
lvl2 = TimeBoundedQueryCache(s.AsQueryDataSource, tp, TimeSpan(24,0,0));
lvl1 = SizeBoundedQueryCache(lvl2, 10);
}
ここで、S、lvl1、および lvl2 はすべて、他のパブリック クラスのオブジェクトを保持するクラスで宣言されたプライベート フィールドです。次に、SearchWithTwoLevelClass 内にある実行したいパブリック メソッドがありますが、最初に、SearchWithTwoLevelCache を作成するために使用されたコンストラクターが上記のものであるかどうかを確認したいと思います。そうでない場合、メソッドは正しく実行されず、何らかの例外がスローされます。 t。これを行う最善の方法は何ですか?よろしくお願いします!