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

时间:2012-05-29 01:59:57

标签: c# class

我希望我能够将一个主要类中的一堆方法包含到多个表单中。 实施例

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
 }

首先我想如果Master继承了Form,那么b可以继承Master,但是失败了。不是线索,真的很挣扎,欢迎所有评论。谢谢!

修改

好的,有很多功能和变量需要复制到表单中。这就是为什么我想要类似于子类的原因。

3 个答案:

答案 0 :(得分:1)

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)
    {
        ...
    }
}

答案 1 :(得分:0)

制作主人并将其称为

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

答案 2 :(得分:0)

您可以通过创建其对象来从另一个类调用方法。 <字符串>实施例

public class A 
{
   public void myMethod()
   {

   }
}


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