SfcKey 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
SfcKey 類別是所有巢狀金鑰類別的基底類別,每個 SfcInstance 衍生物件必須具備這些類別。 它實作了等號與雜湊,但不包含比較,因為金鑰只需知道它們是否相等。
金鑰一旦建構即為不可變,因此金鑰不應包含在金鑰物件生命週期中可能變動的資料。 不要將欄位作為金鑰中不屬於金鑰所代表身份的欄位。 我們可以透過禁止 key( 的內部屬性)來強制執行此設定。
任何排序或排序需求都可透過實作解決:
- IComparable 在 SfcKey 衍生類別上
- IComparer 或 IComparer<T> 在 SfcCollection 衍生的集合類別上
public abstract class SfcKey : IEquatable<Microsoft.SqlServer.Management.Sdk.Sfc.SfcKey>
type SfcKey = class
interface IEquatable<SfcKey>
Public MustInherit Class SfcKey
Implements IEquatable(Of SfcKey)
- 繼承
-
SfcKey
- 衍生
- 實作
建構函式
| 名稱 | Description |
|---|---|
| SfcKey() |
SfcKey 類別是所有巢狀金鑰類別的基底類別,每個 SfcInstance 衍生物件必須具備這些類別。 它實作了等號與雜湊,但不包含比較,因為金鑰只需知道它們是否相等。 金鑰一旦建構即為不可變,因此金鑰不應包含在金鑰物件生命週期中可能變動的資料。 不要將欄位作為金鑰中不屬於金鑰所代表身份的欄位。 我們可以透過禁止 key( 的內部屬性)來強制執行此設定。 任何排序或排序需求都可透過實作解決:
|
屬性
| 名稱 | Description |
|---|---|
| InstanceType |
與此金鑰類別相關聯的實例類別類型。 預設 impl 是巢狀金鑰類別為了與現有模型相容而採用的做法。 此設定應在任何非該實例類型的巢狀類別的鍵類別中覆寫。 |
方法
| 名稱 | Description |
|---|---|
| Equals(Object) |
每個金鑰必須對其資料成員進行適當的值比較。 不要像 Object 一樣只依賴參考資料的一致性檢查。 |
| Equals(SfcKey) |
SfcKey 類別是所有巢狀金鑰類別的基底類別,每個 SfcInstance 衍生物件必須具備這些類別。 它實作了等號與雜湊,但不包含比較,因為金鑰只需知道它們是否相等。 金鑰一旦建構即為不可變,因此金鑰不應包含在金鑰物件生命週期中可能變動的資料。 不要將欄位作為金鑰中不屬於金鑰所代表身份的欄位。 我們可以透過禁止 key( 的內部屬性)來強制執行此設定。 任何排序或排序需求都可透過實作解決:
|
| GetHashCode() |
每個金鑰必須為其資料成員提供合理的雜湊碼。 內部字串可以使用其預設的雜湊碼,數值也可以直接使用,或透過位元移位並截斷為整數。多個內部資料的雜湊碼通常可以 XOR 組合起來,產生不錯的結果。 |
| GetUrnFragment() |
每個金鑰必須實作如何產生有效的 XPath 導向身份字串片段,該片段用於從 SfcKeyChain 的 Key[] 建構完整且有效的 Urn。 |
| ToString() |
每把鑰匙 |