Created
June 3, 2014 04:25
-
-
Save Fhernd/23478fe1de5a9a5de8c6 to your computer and use it in GitHub Desktop.
Demostración del uso de los métedos SetData y GetData de la clase AppDomain en C#.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ===++=== | |
// | |
// OrtizOL | |
// | |
// ===--=== | |
/*============================================================ | |
// | |
// Clase: IntercambioDatosAppDomains.cs | |
// | |
// Propósito: Demostración del intercambio de datos entre | |
// dominios de aplicación. | |
// | |
============================================================*/ | |
using System; | |
using System.Reflection; | |
using System.Collections; | |
namespace Recetas.Cap03 | |
{ | |
internal class ModificadorContenido | |
{ | |
public ModificadorContenido() | |
{ | |
// Obtiene la lista de las propiedades del dominio: | |
ArrayList lista = (ArrayList) AppDomain.CurrentDomain.GetData("Programas"); | |
// Agrega un nuevo elemento a la lista: | |
lista.Add("OrtizOL - El Empleado"); | |
} | |
} | |
internal class IntercambioDatosAppDomains | |
{ | |
public static void Main() | |
{ | |
// Creación de un nuevo dominio de aplicación: | |
AppDomain nuevoAppDomain = AppDomain.CreateDomain("NuevoDominio"); | |
// Creación de la lista con nombres de programas: | |
ArrayList listaProgramas = new ArrayList(); | |
listaProgramas.Add("OrtizOL - Fundamentos de Electrónica Digital"); | |
listaProgramas.Add("OrtizOL - Easy YouTube Video Downloader"); | |
listaProgramas.Add("OrtizOL - El Triángulo"); | |
listaProgramas.Add("OrtizOL - Simulador Bancario"); | |
// Agregamos la instancia `ArrayList` en las propiedades | |
// del nuevo dominio `nuevoAppDomain`: | |
nuevoAppDomain.SetData("Programas", listaProgramas); | |
// Creamos instancia desde el dominio nuevo: | |
nuevoAppDomain.CreateInstance("IntercambioDatosAppDomains", "Recetas.Cap03.ModificadorContenido"); | |
// Visualización del contenido de la lista: | |
Console.WriteLine("\nContenido de `listaProgramas`:"); | |
foreach (string programa in listaProgramas) | |
{ | |
Console.WriteLine("\t{0}", programa); | |
} | |
Console.WriteLine("\nContenido de `nuevoAppDomain.GetData(\"Programas\")`:"); | |
foreach (string programa in (ArrayList) nuevoAppDomain.GetData("Programas")) | |
{ | |
Console.WriteLine("\t{0}", programa); | |
} | |
Console.WriteLine(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment