Partager via


IServiceKey interface

ServiceKey est une clé de recherche utilisée lors de l’appel de ServiceScope.consume() pour extraire une dépendance.

Remarques

Chaque clé de service fournit également une implémentation par défaut de la dépendance, qui sera automatiquement créée dans l’étendue racine si la dépendance est introuvable. Fournir une implémentation par défaut garantit que les nouvelles dépendances peuvent être introduites en toute sécurité sans casser par inadvertance les composants chargés par un hôte plus ancien qui ne fournit pas la nouvelle dépendance.

Propriétés

defaultCreator

Fonction de rappel qui construit la instance par défaut de ce service.

id

Identificateur unique pour cette clé de service.

name

Nom du service.

Détails de la propriété

defaultCreator

Fonction de rappel qui construit la instance par défaut de ce service.

readonly defaultCreator: ServiceCreator<T>;

Valeur de propriété

id

Identificateur unique pour cette clé de service.

readonly id: string;

Valeur de propriété

string

Remarques

Cet identificateur est une chaîne générée automatiquement qui sera unique pendant la durée de vie de la page. Les appelants ne doivent pas faire d’hypothèses sur la mise en forme de cette chaîne. Il est actuellement basé sur un compteur global, mais cela pourrait changer à l’avenir.

ServiceScope utilise cet identificateur en interne comme clé de dictionnaire pour rechercher des services. ServiceKey est censé être unique, même si plusieurs instances de la même bibliothèque sont chargées sur la même page, même si le même nom a été transmis à ServiceKey.create(). Cela est dû au fait que chaque appel à ServiceKey.create() peut potentiellement fournir une implémentation defaultCreator différente, tandis que l’un des objectifs de conception de ServiceScope est que l’ordre dans lequel les bibliothèques sont chargées ne doit jamais affecter l’arborescence d’étendues résultante.

name

Nom du service.

readonly name: string;

Valeur de propriété

string

Remarques

Ce nom est utilisé uniquement à des fins de journalisation et de diagnostic. Pour la rendre unique, la convention recommandée est le nom du package, suivi d’un point, suivi du nom de la classe ou de l’interface.

Le système ne suppose pas que cette chaîne est unique. Au lieu de cela, le ServiceKey.id est utilisé partout où une clé de recherche est nécessaire.