Совместное использование переменных между разными DLL, но в одном и том же процессе / EXE - PullRequest
0 голосов
/ 23 марта 2012

Я объявил статическую переменную в DLLA, и я хотел бы получить доступ из другой библиотеки DLL

Как я могу разделить переменную между двумя DLL, работающими в одном процессе?

Проблемаis: в следующем коде переменная localB не может быть получена.Как я могу прочитать переменную B внутри метода Main?

  • DLLA

    namespace A
    {
    public class ProgramA
    {
    
    public static string variableA = "John";
    public static void Main(string[] args)
    {
    
        b.Program.variableB = variableA;
    }
    
  • DLLB

    namespace b
     {
     public class Program
      {
        public static string variableB;
        public static void Main(string[] args)
       {
           string localB = variableB;
       }
    

Ответы [ 2 ]

1 голос
/ 23 марта 2012

В первой DLL (First.DLL)

namespace MyGlobalVar
{
    public static class MyAppVars
    {
        public static string UserName;
    }
}

Во второй DLL (Second.DLL) ссылка First.DLL затем используется как:

using MyGlobalVar
....

MyAppVars.UserName = "John";
1 голос
/ 23 марта 2012

Если DLL2 имеет ссылку на DLL1, вы просто должны пометить эту переменную (и класс, который ее содержит) как public.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...