Klassentyp Abonnement
Dieses Abonnement gleicht Themen basierend auf dem exakten Typ ab und ordnet Agenten über die Quelle des Themas als Agentenschlüssel zu. Dieses Abonnement führt dazu, dass jede Quelle eine eigene Agenteninstanz hat.
public class TypeSubscription : ISubscriptionDefinition
- Vererbung
-
TypeSubscription
- Implementiert
- Geerbte Member
Hinweise
Beispiel
var subscription = new TypeSubscription("t1", "a1");
In diesem Fall
Konstruktoren
TypeSubscription(string, AgentType, string?)
Initialisiert eine neue Instanz der Klasse TypeSubscription.
public TypeSubscription(string topicType, AgentType agentType, string? id = null)
Parameter
topicTypestringDer exakte Thema-Typ, mit dem abgeglichen werden soll.
agentTypeAgentTypeAgententyp zur Behandlung dieses Abonnements.
idstringEindeutiger Bezeichner für das Abonnement. Wenn nicht angegeben, wird eine neue UUID generiert.
Eigenschaften
AgentType
Ruft den Agententyp ab, der dieses Abonnement behandelt.
public AgentType AgentType { get; }
Eigenschaftswert
Id
Ruft die eindeutige Kennung des Abonnements ab.
public string Id { get; }
Eigenschaftswert
TopicType
Ruft den exakten Thema-Typ ab, der für den Abgleich verwendet wird.
public string TopicType { get; }
Eigenschaftswert
Methoden
Equals(object?)
Bestimmt, ob das angegebene Objekt mit dem aktuellen Abonnement identisch ist.
public override bool Equals(object? obj)
Parameter
objobjectDas Objekt, das mit der aktuellen Instanz verglichen werden soll.
Rückgabe
- bool
true, wenn das angegebene Objekt mit dieser Instanz identisch ist; andernfallsfalse.
GetHashCode()
Gibt einen Hash-Code für diese Instanz zurück.
public override int GetHashCode()
Rückgabe
- int
Ein Hash-Code für diese Instanz, geeignet für die Verwendung in Hashing-Algorithmen und Datenstrukturen.
MapToAgent(TopicId)
Ordnet einen TopicId einem AgentId zu. Sollte nur aufgerufen werden, wenn Matches(TopicId) true zurückgibt.
public AgentId MapToAgent(TopicId topic)
Parameter
topicTopicIdDas zuzuordnende Thema.
Rückgabe
Ausnahmen
- InvalidOperationException
Ausgelöst, wenn das Thema nicht mit dem Abonnement übereinstimmt.
Matches(TopicId)
Prüft, ob ein gegebener TopicId basierend auf einem exakten Typabgleich mit dem Abonnement übereinstimmt.
public bool Matches(TopicId topic)
Parameter
topicTopicIdDas zu prüfende Thema.
Rückgabe
- bool
true, wenn der Typ des Themas exakt übereinstimmt, andernfallsfalse.