我有一个如下所示的服务类:
class BillingService
{
public void CheckBillingStatus(BillingOperationRequestDto dto)
{
}
public void AnotherOperationOnBillings(BillingOperationRequestDto dto)
{
}
}
此外,我还有另一个班级,可以从 RabbitMq 收听一些队列。我想写一些类似的东西:
class MessageListener<T> where T : BaseDto {
public void GetMessage<T>(Func ... )
MessageListener<T>(string queueToListen)
{
}
}
这段代码背后的想法是我想将它用作:
BillingService bs = new BillingService();
var listener = new MessageListener<BillingOperationRequestDto>();
listener.GetMessage<BillingOperationRequestDto>(bs.CheckBillingStatus);
我不仅要指定队列中预期的数据,还要指定对该数据调用的方法。这是正确的方法吗?我想只从队列中获取一条消息,而不是将数据发送到另一个类,但没有找到一个方法来执行此操作,因此决定循环运行 GetMessage 并指定出现消息时应执行的操作。
更新 #1.1:有没有办法将委托发送到
listener.GetMessage<BillingOperationRequestDto>(bs.CheckBillingStatus);
如果我在 BillingService 类中的方法会有不同的方法签名?例如,
public BillingStatusResult CheckBillingStatus(BillingOperationRequestDto dto)
{
}
public AnotherReturnValue AnotherOperationOnBilling(BillingOperationRequestDto dto, string requestedIp, TimeSpan period)
{
}
慕村225694
慕无忌1623718
相关分类