c#调用其他类中的方法

c#调用其他类中的方法,c#,class,interface,C#,Class,Interface,我对c#比较陌生。我在底部有一个类,它有sender.send()命令。我需要从第一个类调用它,并将我创建的“outbound”传递给它,这样它就可以执行sender.send bit-请帮助。 对于信息,ISender是一个接口,Handler和Publisher是类 class CVHandler : Handler<CVRequest> { protected override object Do(CVRequest Body, object previousResul

我对c#比较陌生。我在底部有一个类,它有sender.send()命令。我需要从第一个类调用它,并将我创建的“outbound”传递给它,这样它就可以执行sender.send bit-请帮助。 对于信息,ISender是一个接口,Handler和Publisher是类

class CVHandler : Handler<CVRequest>
{
    protected override object Do(CVRequest Body, object previousResult)
    {   Message outbound = new Message(Body);
        outbound.Key = "PM";

        //Send the message

        return null;
    }
}

public class CVPublisher : Publisher
{
    protected override void Do(ISender sender)
    {
        sender.Send(message);
    }
}
类CVHandler:Handler { 受保护的覆盖对象Do(CVRequest正文、对象previousResult) {消息出站=新消息(正文); outbound.Key=“PM”; //发送消息 返回null; } } 公共类发布者:发布者 { 受保护的覆盖无效Do(ISender发送方) { 发送者。发送(消息); } }
将方法定义为受保护时,它只能由此类及其子类使用。这就是为什么您不能从
CVHandler

调用它的原因。您需要使用Do方法Internal或public从第一个类访问它。您好,是的,我可以访问它。谢谢然后我遇到了一个问题,如果我尝试使用这个CVPublisher sending=new CVPublisher();发送.Do(消息);它告诉我,它的预期类型是inder,而不是Message,这是我构建的“出站”嗨,我建议你用新代码编辑你的问题,或者更好,打开另一个带有相关代码和确切错误的问题。很难把它理解为评论。