Совместное использование переменных между разными DLL, но в одном и том же процессе /EXE
Я объявил статическую переменную в DLLA, и я хотел бы получить доступ из другой библиотеки DLLB
Как я могу разделить переменную между двумя DLL, которые работают в одном процессе?
Проблема: в следующем коде переменная 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 ответа
Если DLL2 имеет ссылку на DLL1, вы просто должны пометить эту переменную (и класс, который ее содержит) как public
,
Во первых DLL (First.DLL)
namespace MyGlobalVar
{
public static class MyAppVars
{
public static string UserName;
}
}
Во второй DLL (Second.DLL) ссылка First.DLL затем используется как:
using MyGlobalVar
....
MyAppVars.UserName = "John";