繁体   English   中英

方法必须在我的代码中具有指向NewCall Handler类的返回类型。 我在想什么

[英]method must have a return type pointing to NewCall Handler class in my code. What am i missing

在该类中,我定义了一个称为NewCallHandler的方法。 即使我在另一个方法中调用此函数,但它给我错误: 方法必须具有return type

class CallHandler
{

      public NewCallHandler(ICall call)
       {
        _call = call;
        _phoneCallAudioSender = new PhoneCallAudioSender();
        _phoneCallAudioSender.AttachToCall(call);
        _mediaConnector = new MediaConnector();
        _greetingMessageTimer = new Timer();
        _greetingMessageTimer.Elapsed += greetingMessageTimer_Elapsed;
        _greetingMessageTimer.Interval = 15000;
       }

在lowerMenu的此方法中,我在var变量中调用NewCallHandler函数

private void LowerMenu()
    {
        _call.CallStateChanged -= call_CallStateChanged;
        _call.DtmfReceived -= call_DtmfReceived;
        _greetingMessageTimer.Elapsed -= greetingMessageTimer_Elapsed;

        var  newCallHandler = NewCallHandler(_call);
        newCallHandler.BlindTransferNumber(_blindTransferNumber);
        newCallHandler.Completed += newCallHandler_Completed;
        newCallHandler.Start();
    }
}

我知道这个问题曾经被问过,但是找不到解决我问题的方法。 请在这件事上帮助我。 谢谢

看来您是在实例化方法内部的类级别变量的方式定义了构造函数。 您甚至似乎在进行依赖项注入,因此我很确定这是要用作构造函数。

构造函数名称必须与类相同。 您应该将构造函数重命名为:

public CallHandler(ICall call)

然后,您可以通过以下方式调用它:

var callHandler = new CallHandler(_call);

注意new关键字。

除了构造函数,所有方法都必须具有返回类型。 编译器会发现您的方法由于名称而不是构造函数,并假定它是普通方法,并产生您看到的错误。

方法必须声明一个返回类型,或者如果您不希望该方法返回任何内容,则必须使用关键字void。

因此将其更改为:

public void NewCallHandler(ICall call)

您是否希望使用该方法? 如果不是,则需要在公开后使用void,否则需要输入需要返回的类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM