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

How do I call a class contained in a folder in C#/Visual Studio?

这可能是个很愚蠢的问题;

我一直在尝试在 Visual Studio 中制作我的第一个通用应用程序。无论如何,我正在尝试制作一个可以从 Phone 和商店应用程序调用的 class 文件,但是,VS 一直将这个 .cs 文件存储在一个文件夹中。

如何在文件夹中调用 class?

通常我会这样做:

ClassName class1 = new ClassName()

但这行不通,因为我不知道如何将文件夹放入他们的文件夹中,如果您明白我的意思;我试过了

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

谁能告诉我如何引用文件夹中包含的 class?

谢谢。

编辑:我添加了一张图片。我试图在 MainPage.xaml.cs

中访问 Print.cs 中包含的方法

答案:将我打算共享的 classes 放入 "UniApp1.Shared" 文件夹(Duh!):/

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

通常,在您的 class 名称之上,您会有一个 namespace blablabla { 子句。要在该命名空间中使用 class,您可以执行

1) 在文件顶部使用 class: using blablabla; 然后只需使用 class 所需的名称即可访问。

-或-

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

the official MSDN documentation

上有关命名空间的更多信息

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

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

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

如果我拖动这些文件或使用“添加现有文件”到项目,Visual Studio 2015 会将 Tests 子文件夹中的文件复制到 Sample 文件夹中,然后将它们添加到项目中。

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

我发现解决这个问题的唯一方法是创建一个新的共享项目并包含测试项目,然后我可以使用测试文件夹中的 类。

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

除非有人知道吗?