在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
中?
答案 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#类:
using
directive,指定包含所需类的命名空间。或者,您可以在方法调用本身中指定完整的命名空间。请注意,要使用该方法,您必须实例化包含类的实例,或者该方法必须是静态的,并使用ClassName.MethodName()
语法访问它。
答案 2 :(得分:0)
如果您希望C++
中C#
(由于某种原因)遵循相同的问题来实现这一目标,请在一个文件中声明(例如)一个interface
,并在另一个,但基本上在你的情况下,我认为你不需要,你基本上需要:
main.cs
文件 C#
有许多其他不同方面可能对C++
开发人员来说很熟悉,所以我建议稍微学习一下。