次の方法で共有


機能プロパティ (POS for .NET v1.14 SDK ドキュメント)

一部のプロパティは、サービス オブジェクト内で直接設定できません。 これは、機能プロパティ (名前に Cap というプレフィックスが付いているもの) の場合によく起こります。 Unified Point Of Service (UnifiedPOS) 仕様によると、これらのプロパティは読み取り専用である必要があります。そのため、サービス オブジェクトがこれらのプロパティの値を変更するには、実装固有のメカニズムが必要です。

BaseClass プロパティ

Microsoft Point of Service for .NET (POS for .NET) の基底クラスには、この目的のために Properties という保護されたプロパティがあります。 このプロパティは、基底クラスで実装された読み取り専用プロパティの書き込み可能バージョンを持つヘルパー クラスを返します。 たとえば、PinPadBase には Properties というプロパティがあり、PinPadProperties 型のオブジェクトを返します。 また、このオブジェクトには、PinPad 固有の機能プロパティ (CapDisplay など) を設定するために使われるプロパティが含まれています。

PosCommon プロパティ

デバイス固有のプロパティ クラスに加えて、すべての POS for .NET の基底クラスと基本クラスには CommonProperties という保護されたプロパティもあります。これは CommonProperties 型のオブジェクトを返します。 このヘルパー クラスは、PosCommon で見つかった機能と状態のプロパティを変更するために使われます。

ヘルパー クラスを使ったプロパティの設定

一般に、サービス オブジェクトは、常にヘルパー クラスを使って、その共通プロパティとクラス固有のプロパティの値にアクセスする必要があります。 これらのプロパティは、サービス オブジェクトによって書き込まれることがあります。また、常に適切な値が含まれています。

サービス オブジェクト開発者は、特定の値が変更されたときに POS for .NET Framework がどのような処理を行うかを注意する必要があります。 たとえば、サービス オブジェクトは一般に CommonProperties.State を変更すべきではありません。これは、POS for .NET の内部状態に干渉する可能性があるためです。 同様に、サービス オブジェクト開発者は、CommonProperties.PowerState を変更すると、StatusUpdateEvent イベントがアプリケーションに送信される可能性があることに注意する必要があります。

注意

POS for .NET の基底クラスまたは基本クラスから派生した場合、通常、サービス オブジェクトは CommonProperties.State の値を ControlState.Closed に変更すべきではありません。 これを行うと、イベント キューがクリーンアップされず、既にキューにあるイベントを POS for .NET が処理しようとするために、後で例外がスローされる可能性があります。

関連項目