我在DLLA中声明了一个静态变量,我想从另一个DLLB访问
如何在同一进程中运行的两个DLL之间共享变量?
问题是:在以下代码中无法检索localB变量。如何在Main方法中读取变量B?
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;
}
答案 0 :(得分:1)
如果DLL2具有对DLL1的引用,则只需将该变量(以及包含它的类)标记为public
。
答案 1 :(得分:1)
在第一个DLL(First.DLL)
中namespace MyGlobalVar
{
public static class MyAppVars
{
public static string UserName;
}
}
在第二个DLL(Second.DLL)引用First.DLL中,然后使用as:
using MyGlobalVar
....
MyAppVars.UserName = "John";