私は基本クラス(PrintProviderBase)を持っています。いくつかの状態 ( PrinterUnavailable、NoPaper、 ...) を保持します。
次に、このクラスから継承します: ColorPrintProvider, BlackAndWhitePrintProvider...
基本クラスに次のようなプロパティがあると仮定しました。
private PrintStateEnum State { get; set; }
次に、各子クラス (異なる印刷プロバイダー) には独自の状態があります (静的なものはありません)。共通の機能と状態を にカプセル化できるように、各子クラスにのコピーを用意するつもりでしたが、クラスの 1 つのインスタンスがbaseそれらの間で共有されているようです。base classbase class
現在、印刷プロバイダーがNoPaper状態になると、他のプロバイダーは不適切な状態のために印刷を停止します。この動作を変更するにはどうすればよいですか?