如何在C#/ Visual Studio中调用包含在文件夹中的类?

时间:2015-01-10 07:23:39

标签: c# winforms visual-studio visual-studio-2012 windows-phone-8

enter image description here enter image description here

这可能是一个非常愚蠢的问题;

我刚刚尝试在Visual Studio中制作我的第一个通用应用程序。无论如何,我正在尝试创建一个可以从电话和商店应用程序调用的类文件,但是,VS会将此.cs文件存储在一个文件夹中。

如何在课程文件夹中调用课程?

通常我会做类似的事情:

ClassName class1 = new ClassName()

但这不起作用,因为我不知道怎么把文件夹放进去,如果你知道我的意思;我试过了

FolderName.ClassName() class1 = new FolderName.ClassName() 但无济于事。

有人可以告诉我如何引用文件夹中包含的类吗?

感谢。

编辑:我添加了一张图片。我正在尝试访问MainPage.xaml.cs中的Print.cs中包含的方法

答案:把我想要分享的类放在“UniApp1.Shared”文件夹中(Duh!):/

3 个答案:

答案 0 :(得分:2)

c#项目中的类位于 命名空间 中,而不是 文件夹 。文件夹名称是否与命名空间名称匹配是完全可选的。

通常,在您的班级名称之上,您将拥有namespace blablabla {子句。要在该命名空间中使用该类,您可以执行

1)在使用该类的文件顶部:using blablabla;,然后使用您想要的类名进行访问。

-OR -

2)直接指定整个命名空间名称:blablabla.ClassName

有关the official MSDN documentation

上的命名空间的详细信息

答案 1 :(得分:1)

您已将班级添加到解决方案项目中。解决方案项目不会编译到项目的输出中。只需将类移动到您的项目中(一个简单的拖放操作就可以了),它可以正常工作。

答案 2 :(得分:0)

我有类似的问题,实际上可能是同一个问题。

如果我的.sln .csproj和.cs代码在“Sample”文件夹中有一个项目,那么决定添加一个名为“Sample \ Tests”的子文件夹并尝试添加来自Tests文件的文件我有各种各样的文件问题。

如果我拖动这些文件或使用Add Existing to project,Visual Studio 2015会将Tests子文件夹中的文件副本复制到Sample文件夹中,然后将这些文件添加到项目中。

如果我决定将Tests子文件夹中的文件添加到解决方案中,那么我可以在解决方案中看到该文件夹​​,但我无法使用“Sample”中代码中的测试类。

我找到的唯一方法是创建一个新的共享项目并包含测试项目,然后我可以使用测试文件夹中的类。

命名空间没有区别,因为它在尝试从其他文件夹添加源代码时没有解决问题,而且在代码可以从其他文件夹中使用之前,似乎VS需要一个项目。

除非有人知道这件事吗?