如何从子级触发Grand-Parent类中的方法

时间:2017-04-11 01:53:06

标签: c# winforms

我想在winform中告知用户他在另一个winform中选择的日期。我在class结构中构建了这个框架。尝试通过订阅events中的方法并计划从Foo触发

来使用Roo

但我无法实现这一目标,除非我在Foo中创建另一个Roo会话,但我的工作方式不会像我想要的那样

class Foo
{
    static void Main()
    {
        Too to = new Too();
        //
        Foo fo = new Foo();
        fo.PromptUser();
    }

    void PromptUser()
    {
        // If date is in Past
            //some logic
        // If future
            // some logic
    }
}

class Too
{
    public void Too_Method()
    {
        Roo ro = new Roo();
    }
}

class Roo
{
    //In this class, User will be able to
    // Select a date
}

如何传递/知道在Roo类中选择的日期来定义Foo类中的逻辑?

1 个答案:

答案 0 :(得分:0)

使用静态方法,因此无需实例化类

class Roo
{
  public static dateTime selectedDate()
   {
    //selected date
    return //selected date
   }
}

在Foo类中,直接通过ClassName.staticmethod调用静态方法

class Foo
 {
   dateTime userSelectedDate = Roo.selectedDate();
 }

OR另一种方式是使用继承,

  class Foo : Roo
  {

  }