如何将 on 类的方法包含在另一个类中

本文关键字:包含 另一个 方法 on | 更新日期: 2023-09-27 18:35:31

我希望我能够将一个主类中的一堆方法包含在多个窗体中。例

class Master{
    public void kill(){
         this.Hide()
    }
 }
 class b : Form{
      //What must I do so that class 'b' can call kill, an it would mean that b would close
 }
首先我想如果师父继承了

形式,那么b可以继承师父,但这失败了。没有线索,真的很挣扎,欢迎所有评论。谢谢!

编辑

好的,有很多函数和变量需要复制到表单中。这就是为什么我想要类似于子类的东西。

如何将 on 类的方法包含在另一个类中

kill变成扩展方法。

public static class FormExtensions
{
    public static void Kill(this Form form)
    {
        ...
    }
}

或者,如果您不希望它应用于每个表单,则可以扩展标记接口并将其应用于适用的表单

public interface IKillable
{  }
public static class KillableExtensions
{
    public static void Kill(this IKillable form)
    {
        ...
    }
}

制作一个母版并调用它

class b : Form{
      //What must i do so that class be can call kill
      Master _master = new Master();
      void Stuff()
      {
         _master.kill();
      }

 }

您还可以制作扩展方法。 假设没有您想要访问的 Master 成员

或者你可以让 Master 继承 Form,然后让 b 继承 Master

可以通过创建方法的对象从其他类调用该方法。

例:

public class A 
{
   public void myMethod()
   {
   }
}

public class B
{
    A a = new A();            // here 'a' is an object of class 'A'
    a.myMethod(); 
}