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