TypeSubscription 类
此订阅基于确切类型匹配主题,并将主题的来源作为代理键映射到代理。 此订阅导致每个来源都有其自己的代理实例。
public class TypeSubscription : ISubscriptionDefinition
- 继承
-
TypeSubscription
- 实现
- 继承的成员
备注
示例
var subscription = new TypeSubscription("t1", "a1");
在这种情况下
构造函数
TypeSubscription(string, AgentType, string?)
初始化 TypeSubscription 类的新实例。
public TypeSubscription(string topicType, AgentType agentType, string? id = null)
参数
topicType
string要匹配的确切主题类型。
agentType
AgentType用于处理此订阅的代理类型。
id
string订阅的唯一标识符。 如果未提供,将生成新的 UUID。
属性
AgentType
获取处理此订阅的代理类型。
public AgentType AgentType { get; }
属性值
Id
获取订阅的唯一标识符。
public string Id { get; }
属性值
TopicType
获取用于匹配的确切主题类型。
public string TopicType { get; }
属性值
方法
Equals(object?)
确定指定的对象是否等于当前订阅。
public override bool Equals(object? obj)
参数
obj
object要与当前实例进行比较的对象。
返回
- bool
如果指定的对象等于此实例,则为
true
;否则,为false
。
GetHashCode()
返回此实例的哈希代码。
public override int GetHashCode()
返回
- int
此实例的哈希代码,适合在哈希算法和数据结构中使用。
MapToAgent(TopicId)
将 TopicId 映射到 AgentId。 只有在 Matches(TopicId) 返回 true 时才应调用。
public AgentId MapToAgent(TopicId topic)
参数
topic
TopicId要映射的主题。
返回
异常
- InvalidOperationException
如果主题与订阅不匹配,则引发。
Matches(TopicId)
基于确切的类型匹配检查给定的 TopicId 是否与订阅匹配。
public bool Matches(TopicId topic)
参数
topic
TopicId要检查的主题。
返回
- bool
如果主题的类型完全匹配,则为
true
,否则为false
。