C# 返回带有字符串的成员函数显示?C

C# 返回带有字符串的成员函数显示?C,c#,C#,因此,我假设使用这个成员函数调用基类displayTime方法,然后将时区添加到输出消息中 public string DisplayTime() { //return base.displayTime(); return "okay"; }//end of DisplayTime 基类: public void displayTime() { DateTime time

因此,我假设使用这个成员函数调用基类displayTime方法,然后将时区添加到输出消息中

 public string DisplayTime()
        {
            //return base.displayTime();
            return "okay";
        }//end of DisplayTime
基类:

public void displayTime()
        {
            DateTime time = DateTime.Now; // Use current time
            string format = "MMM ddd d HH:mm yyyy"; // Use this format
            MessageBox.Show(time.ToString(format)); // Write to console

        }//end of displayTime
遗憾的是,我的第一次显示时间设置不正确,因为我不完全确定如何设置它。当涉及到return+base.displayTime时,我尝试了不同的方法;等等等等,但那不起作用。我不知道接下来该怎么办

您的displayTime返回void,displayTime应该返回字符串。 因此,如果您希望能够写入return base.displayTime;您必须更改displayTime以返回字符串,例如:

public string displayTime()
        {
            DateTime time = DateTime.Now; // Use current time
            string format = "MMM ddd d HH:mm yyyy"; // Use this format
            return (time.ToString(format)); // Write to console

        }//end of displayTime

基类方法应该是虚拟的并返回字符串

public virtual string DisplayTime()
{
    DateTime time = DateTime.Now; // Use current time
    string format = "MMM ddd d HH:mm yyyy"; // Use this format
    return time.ToString(format); // Write to console
}
那么你的后代呢

        public override string DisplayTime()
        {
            return  base.displayTime() + " Some time zone";
        }//end of DisplayTime
返回并重新阅读有关继承等的章节。

由于void displayTime不返回任何内容,也不接受任何参数,因此无法更改其行为中的任何内容

如果是:

string  displayTime()
{
  ...
 // MessageBox.Show(time.ToString(format)); 
  return time.ToString(format)); 
}
然后,在派生类中,您可以执行以下操作:

public string DisplayTime()
{
    //return base.displayTime();
    return base.displayTime() + "A TimeZone";
}//end of DisplayTime
请注意,基础。部分在该代码中不是必需的,但它是允许的


如果要将d改为d,名称将相同,然后必须使用base。指示要使用哪一个

多谢各位。我只是这么做了,实际上我们的老师并没有给我们很多关于这个项目的指导。这忽略了提问者试图实现继承的要点。