2013-01-02 36 views
1

我将尽我所能解释这一点。我正在研究需要从另一个程序获取数据的应用程序。我相信他们都在相同的解决方案,我有应用程序引用具有我想要的变量的.dll。 代码是有点儿建立这样引用另一个文件/项目中的变量

有我要的是建立这样

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的varible的cs文件,但我不知道如何访问它。我使用第二个程序的命名空间。

回答

1

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

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

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

myObserverClass.functionWithMyVariable(); 

不会工作,除非functionWithMyVariable是公共职能。

public string functionWithMyVariable(ref something, int toTier){ 
+0

那么有,我从这个功能所需要的就是这个问题,使我不能拥有它只返回一个变量多个变量。 – dstew

+1

@ user1873594 - 这很简单,你有它返回一个列表或列表或字典<字符串,对象>,或定义良好的结果类,包含所有您想要返回的值。 –

0

引用在这两个应用程序的组件(该.dll)为具有他们共享代码,这是不一样的共享数据。每个程序都将创建个人内存版本的.dll中找到的类和结构。有关如何在.net应用程序之间传输数据的更多信息,请参阅Transfer large data between .net applications on same computer

0

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

希望这可以帮助你:)

+0

是的,所以如果功能是公开的,我将能够在我的其他.cs文件中引用它? – dstew

+0

是的,当然如果上课是公开的 –

相关问题