2013-01-02 76 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

是的,當然如果上課是公開的 –

相關問題