SfcKey Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
La classe SfcKey è la classe di base per tutte le classi Key nidificate che ogni oggetto derivato da SfcInstance deve avere. Implementa l'uguaglianza e l'hashing, ma non il confronto, poiché le chiavi sono necessarie solo per sapere se sono uguali o meno.
Le chiavi devono essere non modificabili dopo la costruzione, pertanto una chiave non deve contenere dati che possono cambiare durante la durata dell'oggetto Key. Non usare i campi come parte di una chiave che non fanno realmente parte dell'identità rappresentata dalla chiave. È possibile applicarlo non consentendo set() nelle proprietà interne per la chiave.
Le esigenze di ordinamento o regole di confronto vengono risolte implementando:
- IComparable nella classe derivata da SfcKey
- IComparer o IComparer<T> nella classe di raccolta derivata da 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)
- Ereditarietà
-
SfcKey
- Derivato
- Implementazioni
Costruttori
| Nome | Descrizione |
|---|---|
| SfcKey() |
La classe SfcKey è la classe di base per tutte le classi Key nidificate che ogni oggetto derivato da SfcInstance deve avere. Implementa l'uguaglianza e l'hashing, ma non il confronto, poiché le chiavi sono necessarie solo per sapere se sono uguali o meno. Le chiavi devono essere non modificabili dopo la costruzione, pertanto una chiave non deve contenere dati che possono cambiare durante la durata dell'oggetto Key. Non usare i campi come parte di una chiave che non fanno realmente parte dell'identità rappresentata dalla chiave. È possibile applicarlo non consentendo set() nelle proprietà interne per la chiave. Le esigenze di ordinamento o regole di confronto vengono risolte implementando:
|
Proprietà
| Nome | Descrizione |
|---|---|
| InstanceType |
Tipo della classe di istanza associata a questa classe chiave. Impl predefinito è il modo in cui una classe chiave nidificata lo farebbe per la compatibilità con i modelli esistenti usando tale tecnica. Deve essere sottoposto a override in qualsiasi classe chiave che non è una classe nidificata del tipo di istanza. |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Ogni chiave deve eseguire un confronto di valori appropriato dei relativi membri dati. Non fare affidamento esclusivamente sul controllo di uguaglianza dei riferimenti, ad esempio l'oggetto . |
| Equals(SfcKey) |
La classe SfcKey è la classe di base per tutte le classi Key nidificate che ogni oggetto derivato da SfcInstance deve avere. Implementa l'uguaglianza e l'hashing, ma non il confronto, poiché le chiavi sono necessarie solo per sapere se sono uguali o meno. Le chiavi devono essere non modificabili dopo la costruzione, pertanto una chiave non deve contenere dati che possono cambiare durante la durata dell'oggetto Key. Non usare i campi come parte di una chiave che non fanno realmente parte dell'identità rappresentata dalla chiave. È possibile applicarlo non consentendo set() nelle proprietà interne per la chiave. Le esigenze di ordinamento o regole di confronto vengono risolte implementando:
|
| GetHashCode() |
Ogni chiave deve fornire un codice hash ragionevole per i relativi membri dati. Internamente, le stringhe possono usare i codici hash predefiniti e i valori numerici possono essere usati direttamente o spostati in bit e troncati in int. Più codici hash per i dati interni possono in genere essere XOR per produrre un risultato decente. |
| GetUrnFragment() |
Ogni chiave deve implementare come produrre un frammento di stringa di identità orientato a XPath validoche viene usato per compilare urn completo e valido da un SfcKeyChain di Key[]. |
| ToString() |
Ogni chiave |