在c#中传递来自另一个类的函数而不是静态的

时间:2018-04-20 12:28:40

标签: c# rabbitmq

请注意,this类似的声音问题实际上并未回答我的问题。

我有一个类,它涉及从队列中读取消息并对其进行处理。我试图在另一个类中使用一个方法来处理它,并且在不使它静态的情况下无法管理它,并且想知道最好的方法是什么。

所以这是HandleMessage在同一个类中的代码:

 myconfigclass {
       protected override void DoConfigure(IDependancyInjectionContainer container)
       {
           IServiceInformation serviceDetail = m_ServiceDiscovery.GetServiceEndpoint("rabbitmq").Result;
            string rabbitMqAddress = $"{serviceDetail.IpAddress}:{serviceDetail.Port}";
            RabbitMqServer mqServer = new RabbitMqServer(rabbitMqAddress);


            mqServer.RegisterHandler<CdsGatewayMessage>(HandleMessage); //want HandleMessage to be in another class
            mqServer.Start();

       }

       public object HandleMessage(IMessage<CdsGatewayMessage> message)
      {//does stuff with the message
      }

我想要做的是将HandleMessage移动到另一个类MessageProcessor中,但我只能通过使MessageProcessor.HandleMessage()静态来使其工作。

有没有一种简单的方法可以让它在外部类中作为实例工作?

0 个答案:

没有答案