如何将函数放在其他cs文件中?

时间:2013-10-14 07:05:32

标签: c# c++

在C / C ++中,我可以创建一个文件并将所有函数放在这个文件中。

lib.h

void plus(int i, int j);

lib.cpp

#include "lib.h"

void plus(int i, int j)
{
    printf("%d\n", i+j);
}

的main.cpp

#include "lib.h"
main()
{
    plus(1, 2);
}

但是在C#中,如何将函数放在其他cs文件中并将其包含在main.cs中?

3 个答案:

答案 0 :(得分:2)

首先,你不应该真的这样做。在C / C ++世界中,这是完成的,因为您不能使用稍后在程序中声明的函数。

此外,头文件还可用作操作系统或某些供应商的共享库的接口。

那么@Tigran所说的是C#中同一主体的等价。你宣布一个iterface。

如果你真的想在字面意义中做你想要的,你可以使用部分功能。我把它放在这里给任何好奇的人。这个目的是为了与C / C ++不同,所以你需要评估你是否真的想要这样做,我想你不会这样做。

您可以执行此操作,see msdn for more

namespace PM
{
    partial class A
    {
        partial void OnSomethingHappened(string s);
    }

    // This part can be in a separate file. 
    partial class A
    {
        // Comment out this method and the program 
        // will still compile. 
        partial void OnSomethingHappened(String s)
        {
            Console.WriteLine("Something happened: {0}", s);
        }
    }
}

答案 1 :(得分:1)

你不会在C#中那样做。

在C#中,首先要注意所有函数(在C#中称为方法)必须在类中。你不能让它们像C ++一样漂浮在裸体周围。

其次,访问另一个“.cs”文件中定义的C#类:

  • 如果类是在不同的程序集中定义的(即它位于不同的DLL中),那么您必须向项目添加对该程序集的引用。
  • 然后,如果包含该类的命名空间与需要使用该方法的类的命名空间相同,则不需要再执行任何操作。
  • 否则,在源代码文件的顶部,您必须放置一个using directive,指定包含所需类的命名空间。或者,您可以在方法调用本身中指定完整的命名空间。

请注意,要使用该方法,您必须实例化包含类的实例,或者该方法必须是静态的,并使用ClassName.MethodName()语法访问它。

答案 2 :(得分:0)

如果您希望C++C#(由于某种原因)遵循相同的问题来实现这一目标,请在一个文件中声明(例如)一个interface,并在另一个,但基本上在你的情况下,我认为你不需要,你基本上需要:

  • 在一个文件中声明一个类
  • main.cs文件
  • 中实例化
  • 使用它

C#有许多其他不同方面可能对C++开发人员来说很熟悉,所以我建议稍微学习一下。