【问题标题】:How do I call a class contained in a folder in C#/Visual Studio?如何调用 C#/Visual Studio 文件夹中包含的类?
【发布时间】:2015-03-08 13:24:49
【问题描述】:

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

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

类在文件夹中时如何调用它?

通常我会这样做:

ClassName class1 = new ClassName()

但这不起作用,因为我不知道如何将文件夹放入他们的文件夹中,如果您知道我的意思的话;我试过了

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

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

谢谢。

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

回答:将我打算共享的类放在“UniApp1.Shared”文件夹中(Duh!):/

【问题讨论】:

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


    【解决方案1】:

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

    通常,在您的班级名称之上,您将有一个namespace blablabla { 子句。要使用该命名空间中的类,您可以这样做

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

    -或-

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

    the official MSDN documentation 上有关命名空间的更多信息

    【讨论】:

    • 现在我看到了您的编辑,您需要确保将其添加到 project 而不是 solution
    【解决方案2】:

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

    【讨论】:

    • 我已将其移至 Windows Phone 项目中,但我如何从 Windows Store 项目中调用代码呢?它无法识别命名空间。
    • 每个项目都是一个独立的单元,通常只能看到自己的内容(类、模块、资源等)。如果要访问另一个项目中的类,则必须将该项目的引用包含在调用项目中。右键单击您的调用项目并选择添加引用,然后从项目列表(解决方案选项卡)中选择目标项目。
    • 如果您需要在两者之间共享的代码,您需要创建一个新的 Class library 项目并将其添加到您的解决方案中,然后将包含该类的 cs 文件添加到该项目中,然后 @ 987654322@ 从两个使用它的项目到该项目
    • 像往常一样,有很多与这个特定任务相关的细节,但我试图为您保持简单。这只是冰山一角。如果你碰巧继续,你会明白我的意思。
    • @dotNET 当我去添加引用时它告诉我:“无法添加对项目 UniApp.WindowsPhone 的引用”
    【解决方案3】:

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

    如果我的 .sln .csproj 和 .cs 代码在文件夹“Sample”中有一个项目,然后决定添加一个名为“Sample\Tests”的子文件夹并尝试从我有各种不同的测试文件中添加文件问题。

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

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

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

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

    除非有人知道吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多