C#全局模块

时间:2011-01-20 18:31:06

标签: c# module

我是c#的新手,我想知道是否有人可以告诉我如何创建一个用于更改表单的全局模块,就像在vb中一样,然后如何调用该模块。

由于

更新

好的,所以我有多种形式,而不是一遍又一遍地写相同的2行,这是......

Form x = new Form1();
x.Show();

是否可以将其添加到类中以使其更容易。我该怎么做?从来没有上过课。上课了,但不确定如何编写代码。

3 个答案:

答案 0 :(得分:4)

C#中没有任何全局模块,您可以使用静态成员创建一个Public类,如:

实施例

//In a class file 

namespace Global.Functions //Or whatever you call it
{
  public class Numbers
  {
    private Numbers() {} // Private ctor for class with all static methods.

    public static int MyFunction()
    {
      return 22;
    }
  }
}

//Use it in Other class 
using Global.Functions
int Age = Numbers.MyFunction();

答案 1 :(得分:2)

不,这需要编译器的帮助。 VB.NET模块被转换为引擎盖下的类。这与C#中的静态类非常相似,另一种构造在CLR中没有真正的表示。只有编译器可以假装这样的类的成员属于全局命名空间。这是VB.NET编译器的另一个特性,模块在早期版本的visual basic中是一个大问题。

声明没有命名空间的静态类是您在C#中最接近的。 Util.Foo(),类似的东西。

答案 2 :(得分:0)

public class使用static MethodName的答案已接近尾声。你可以更进一步,让课程也是静态的。

这是另一个Stack Overflow的答案。 Classes vs. Modules in VB.Net