1

これをできる限り説明しようと思います。別のプログラムからデータを取得する必要があるアプリケーションに取り組んでいます。私はそれらすべてを私が信じている同じソリューションに持っています、私はそれに欲しい変数を持っている.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が必要ですが、アクセス方法がわかりません。2番目のプログラムの名前空間を使用しています。

4

3 に答える 3

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){
于 2013-01-02T17:32:05.937 に答える
0

私が間違っていない場合は、アプリケーションのdllがApp1であり、クラスが公開されているC1であると言います。このクラスには、V1という変数があります。次に、このdllを、上記の変数V2の上にアクセスするApp2などの別のアプリケーションに参照します。これで、クラスC1と変数V1の両方がパブリックである場合、オブジェクトを作成することにより、あるクラスの変数を単一のアプリケーションにアクセスするようにこれらにアクセスできますが、条件はクラスと変数の両方がパブリックである必要があります。

これがあなたを助けることができることを願っています:)

于 2013-01-02T17:40:43.610 に答える
0

両方のアプリケーションでアセンブリ (.dll) を参照すると、コードが共有されますが、これはデータの共有とは異なります。各プログラムは、.dll にあるクラスと構造体の個別のインメモリ バージョンを作成します。.net アプリ間でデータを転送する方法の詳細については、「同じコンピューター上の .net アプリケーション間で大きなデータを転送する」を参照してください。

于 2013-01-02T17:33:37.270 に答える