【问题标题】:referencing a variable from another file/project引用另一个文件/项目中的变量
【发布时间】:2013-01-02 17:27:40
【问题描述】:

我将尽力解释这一点。我正在开发一个需要从另一个程序获取数据的应用程序。我相信它们都在同一个解决方案中,我的应用程序引用了包含我想要的变量的 .dll。 代码是这样设置的

具有我想要的变量的 .cs 文件是这样设置的

public class myObserverClass
{
  //then there is a bunch of functions and the variable i need is in one like this
  static void functionWithMyVariable(ref something, int toTier){
    string myVariable = some value;
  }
}

在我的主应用程序中,我需要 myVariable,但我不确定如何访问它。我使用第二个程序的命名空间。

【问题讨论】:

    标签: c# variables


    【解决方案1】:

    让你的函数返回你想要的变量值,而不是返回 void。

    static string functionWithMyVariable(ref something, int toTier){
      string myVariable = some value;
      return myVariable;
    }
    

    另请注意,如果您想从其他项目访问函数和(对象/类级别的变量)PUBLIC。

    myObserverClass.functionWithMyVariable();
    

    除非 functionWithMyVariable 是一个 PUBLIC 函数,否则它将不起作用。

    public string functionWithMyVariable(ref something, int toTier){
    

    【讨论】:

    • 嗯,我需要从这个函数中获得多个变量,所以我不能让它只返回一个变量。
    • @user1873594 - 这很简单,你让它返回一个 List 或 List 或 Dictionary 或一个定义明确的包含你想要的所有值的结果类返回。
    【解决方案2】:

    在两个应用程序中引用程序集(.dll)是让它们共享代码,这与共享数据不同。每个程序都将创建 .dll 中的类和结构的单独内存版本。有关如何在 .net 应用之间传输数据的更多信息,请参阅 Transfer large data between .net applications on same computer

    【讨论】:

      【解决方案3】:

      如果我没记错的话,你有一个应用程序的 dll 说 App1 有类说 C1 这是公共的。在这个类中,你有一个变量说 V1。 现在,您将此 dll 引用到您的另一个应用程序 App2 中,您希望在其中访问上述变量 V2。 现在,如果类 C1 和变量 V1 都是公共的,那么您可以像我们通过创建对象将一个类的变量访问另一个类的变量一样访问它们,但条件是类和变量都应该是公共的。

      希望对你有帮助:)

      【讨论】:

      • 是的,所以如果该函数与类一起是公共的,我将能够在我的其他 .cs 文件中引用它?
      • 是的,如果课程是公开的
      猜你喜欢
      • 2014-05-03
      • 2020-05-21
      • 2016-02-25
      • 2022-06-13
      • 2018-07-26
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多