tengoInstancias de variables estáticas y AppDomains, ¿qué está pasando?
public static class A
{
public static string ConnString;
}
[Serializable]
public class Test{
// Accesing A's field;
public string ConnString{get{return A.ConnString;}set{A.ConnString=value;}}
}
void Main()
{
A.ConnString = "InitialString"; // I set A.ConnString in the current domain
var newDomain = AppDomain.CreateDomain("DomNew");
Test TObj = newDomain.CreateInstanceAndUnwrap(typeof(Test).Assembly.FullName, typeof(Test).FullName) as Test ;
TObj.ConnString = "NewDomainString"; // It is supposed to set A.ConnString in the newDomain aka a different instance of A.ConnString
// Here it is supposed to print two different values
Console.WriteLine(A.ConnString); // "InitialString"
Console.WriteLine(TObj.ConnString); // "NewDomainString"
}
pero no! ¡Las dos líneas de escritura, imprimen el mismo valor "NewDomainString"! ¿POR QUÉ ???
este código
TObj.ConnString = "NewDomainString"
se supone que cambiar la cadena en el dominio de nueva creación, pero parece que ambos se refieren a la misma instancia!
¿Qué está pasando aquí?
Posible duplicado de http://stackoverflow.com/questions/4298913/static-fields-in-appdomain – daryal
No marque sus títulos con "C#" y tal. Para eso son las etiquetas. –
¡Tienes razón, John! Novato aquí :) ¡Estoy aprendiendo! ¡Gracias! –