如何将 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可以继承师父,但这失败了。没有线索,真的很挣扎,欢迎所有评论。谢谢!
编辑
好的,有很多函数和变量需要复制到表单中。这就是为什么我想要类似于子类的东西。
将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();
}