Linguaggio

SfcKey Classe

Definizione

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:

  1. IComparable nella classe derivata da SfcKey
  2. 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:

  1. IComparable nella classe derivata da SfcKey
  2. IComparer o IComparer<T> nella classe di raccolta derivata da SfcCollection

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:

  1. IComparable nella classe derivata da SfcKey
  2. IComparer o IComparer<T> nella classe di raccolta derivata da SfcCollection
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

Si applica a