我会尽力解释这个问题。我正在开发一个需要从另一个程序获取数据的应用程序。我把它们都放在我认为相同的解决方案中,我的应用程序引用了具有我想要的变量的.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,但我不知道如何访问它。我使用第二个程序的命名空间。
答案 0 :(得分: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){
答案 1 :(得分:0)
在两个应用程序中引用程序集(.dll)使它们共享代码,这与共享数据不同。每个程序都将创建.dll中的类和结构的单独内存版本。有关如何在.net应用之间传输数据的详细信息,请参阅Transfer large data between .net applications on same computer。
答案 2 :(得分:0)
如果我没有记错,你有一个应用程序的dll说App1有Class说C1是公开的。在这个类中,你有一个变量说V1。 现在你将这个dll引用到你想要访问上述变量V2的另一个应用程序说App2。 现在,如果类C1和变量V1都是公共的,那么您可以通过创建其对象来访问这些类似于我们通过创建其对象将一个类的变量访问到另一个类,但条件是类和变量都应该是公共的。
希望这可以帮到你:)