共用方式為


POS for .NET 裝置基本類別 (POS for .NET v1.14 SDK 文件)

POS for .NET 中的每個硬體裝置都會同時以抽象介面 (例如 CashDrawer 類別) 和 Basic 類別 (例如 CashDrawerBasic) 表示。 Basic 類別衍生自基礎介面,並包含裝置的基本功能支援。 POS for .NET 會針對開啟、宣告及啟用裝置、裝置統計資料,以及管理對應用程式的事件傳遞提供一般支援。 此外,每個 Basic 類別都包含一組可由服務物件實作的繼承和受保護方法。 本主題提供 Basic 類別的相關摘要資訊,其可供衍生自裝置 Basic 類別的服務物件使用,而不是利用更完整實作的裝置 Base 類別。

建構函式

每個 Basic 類別都包含建構函式,可建立類別的執行個體,並初始化 UPOS 版本、裝置分類和安裝日期的統計資料。

常見屬性和方法

每個 Basic 類別都會提供覆寫 PosCommon 屬性和方法定義。 針對這些屬性和方法,Basic 類別會處理狀態驗證,也就是驗證應用程式已開啟、宣告或啟用裝置,然後呼叫該屬性或方法的 POS for .NET 實作。 如需 PosCommon 類別的詳細資訊,請參閱 PosCommon

服務物件可以使用 CommonProperties 類別來更新為應用程式指定的唯讀 PosCommon 屬性,或更新這些屬性,而不必擔心狀態驗證。

Dispose 方法

每個 Basic 類別都包含兩個實作的 Dispose 方法,供服務物件使用。 如需這些項目運作方式的詳細資訊,請參閱 IDisposable 類別的 .NET Framework 文件。

開啟、宣告和啟用裝置

每個 Basic 類別都提供開啟、宣告和啟用裝置的核心功能。 不過,服務物件通常會想要覆寫這些方法,以新增自己的自訂處理。

服務物件開發人員的受保護方法和事件

每個 Basic 類別都包含供服務物件開發人員使用的一組方法和事件。

下列受保護的屬性定義如下:

  • CommonProperties 屬性,會傳回 CommonProperties 的執行個體,其中包含所有 PosCommon 屬性的 get 和 set 值。 服務物件可以使用 CommonProperties 來更新屬性,而不需要擔心狀態驗證,或是否為應用程式指定了唯讀屬性。
  • ExternallyClaimed 屬性,服務物件可以擷取以判斷裝置的另一個執行個體是否已宣告 (在此情況下,屬性會設定為 true)。
  • ErrorCount 屬性。 當服務物件查詢 ErrorCount 的值時,基本類別會檢查事件佇列,並設定找到的 ErrorEvent 事件數目,然後傳回符合數作為 ErrorCount 的值。
  • DataCount 屬性。 POS for .NET 會驗證裝置是否已開啟,然後傳回目前已針對裝置排入佇列的 DataEvent 事件數目。

已定義下列受保護的方法:

  • StateChangedEvent 和委派 StateChangedEventHandler (EventArgs 類別)。 當裝置的 State 屬性變更,服務物件可以實作這些項目來接收通知。
  • 裝置所支援每個事件類型的 PreFireEvent 保護方法。 每個基本類別都會提供會立即傳回的 PreFireEvent 的預設泛型實作。 如果服務物件必須在事件傳送至應用程式之前更新其內部狀態,服務物件可以覆寫 PreFireEvent 的預設實作,並為有問題的事件類型提供自己的實作。
  • 裝置所支援每個事件類型的 QueueEvent 保護方法。 服務物件會呼叫 QueueEvent,以將事件新增至事件佇列。 Basic 類別會驗證裝置已啟用,然後將事件新增至要傳遞至應用程式的事件佇列。 就在傳遞之前,Basic 類別會呼叫適當的 PreFireEvent,讓服務物件有機會更新其內部狀態。 當 PreFireEvent 傳回時,Basic 類別會將事件傳遞至應用程式。
  • QueueEventAndWait 受保護的方法。 服務物件會呼叫 QueueEventAndWait,將 ErrorEvent 事件或 DirectIOEvent 事件新增至事件佇列,服務物件可從中預期來自應用程式的回應。 Basic 類別會驗證裝置已啟用,然後在條件正確時,將事件新增至要傳遞至應用程式的事件佇列。 就在傳遞之前,Basic 類別會呼叫 PreFireEvent,讓服務物件有機會更新其內部狀態。 當 PreFireEvent 傳回時,Basic 類別會將事件傳遞至應用程式。
  • VerifyState 方法會採用兩個布林值,mustBeClaimedmustBeEnabled。 服務物件可以在方法或屬性呼叫之前,呼叫此方法的 POS for .NET 實作,以執行裝置的必要狀態驗證。
  • CreateStatistic 方法。 服務物件應該使用這些方法來建立自訂 (也就是製造商特定) 統計資料。 POS for .NET 會處理所有 UPOS 定義統計資料的建立和管理。
  • SetStatisticValueIncrementStatistic 方法可讓服務物件更新指定的統計資料,即使它未定義為可重設 (也就是說,這些方法會略過 PosCommonResetStatistic(String)UpdateStatistic(String, Object) 方法所強制執行的規則)。
  • SetStatisticHandlers(String, GetStatistic, SetStatistic) 方法,可讓服務物件提供外部回撥函式,以擷取和設定硬體型統計資料。 如果未定義 get 屬性,Basic 類別會假設統計資料是以軟體為基礎,而且其值會保留在統計資料 XML 檔案中。 如果同時定義 get 和 set 屬性,則 Basic 類別會在需要更新或重設統計資料時呼叫這些函式。 提供程式碼來更新硬體中的統計資料會由服務物件決定。
  • ClearInput 方法。 POS for .NET 可清除裝置的事件佇列,然後呼叫服務物件的 ClearInputImpl 實作。
  • ClearInputImpl 方法。 服務物件應該實作這個方法,以清除裝置的任何硬體緩衝區。

另請參閱

其他資源