<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux, Java y programación &#187; destructor</title>
	<atom:link href="http://casidiablo.net/tag/destructor/feed/" rel="self" type="application/rss+xml" />
	<link>http://casidiablo.net</link>
	<description>Blog de Java, Programación y Linux</description>
	<lastBuildDate>Fri, 11 Nov 2011 05:41:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Variables estáticas y destructores en C#</title>
		<link>http://casidiablo.net/atributos-estaticos-destructores-c-sharp/</link>
		<comments>http://casidiablo.net/atributos-estaticos-destructores-c-sharp/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 11:52:32 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[destructor]]></category>
		<category><![CDATA[ejemplo]]></category>
		<category><![CDATA[ejercicio]]></category>
		<category><![CDATA[estatico]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2283</guid>
		<description><![CDATA[Las variables estáticas son atributos de una clase que están disponibles para todas las instancias de dicha clase, y a los cuales puedes acceder directamente (sin instanciar un objeto) de la forma Clase.Variable. Los destructores son métodos que se ejecutan cuando se elimina un objeto; son especialmente útiles si deseamos hacer algo en particular, antes [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fatributos-estaticos-destructores-c-sharp%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Variables%20est%C3%A1ticas%20y%20destructores%20en%20C%23%22%20%7D);"></div>
<p style="text-align: justify;">Las variables estáticas son atributos de una clase que están disponibles para todas las instancias de dicha clase, y a los cuales puedes acceder directamente (sin instanciar un objeto) de la forma Clase.Variable.</p>
<p style="text-align: justify;">Los destructores son métodos que se ejecutan cuando se elimina un objeto; son especialmente útiles si deseamos hacer algo en particular, antes de eliminar la referencia al objeto. A continuación un sencillo ejercicio, en donde se ejemplifica el uso de las variables estáticas y de los destructores en <a href="http://casidiablo.net/category/programacion/net/c-sharp/">C Sharp</a>:</p>
<p><span id="more-2283"></span></p>
<pre class="brush: csharp; title: ; notranslate">using System;
namespace Estatico{
   public class Clase {
      //un atributo normal
      private string variable;
      //esta variable esta disponible para todas
      //las instancias de esta clase
      private static int contador;
      //constructor
      public Clase(string x) {
         variable = x;
         //aumentar valor de la variable estatica
         ++contador;
         Console.WriteLine(&quot;Constructor de &quot;+variable);
      }
      ~Clase(){
         --contador;
         Console.WriteLine(&quot;Se destruyo una de las instancias (&quot;+variable+&quot;)&quot;+contador);
      }
      public static int Contador{
         get{
            return contador;
         }
      }
   }
}</pre>
<p>Clase que utiliza los valores estáticos de la clase anterior:</p>
<pre class="brush: csharp; title: ; notranslate">using System;
namespace Estatico{
   public class Principal{
      static void Main(string[] args){
         Console.WriteLine(&quot;Contador antes de crear objetos: &quot;+Clase.Contador);
         //crear 2 instancias de la clase
         Clase objeto1 = new Clase(&quot;primero&quot;);
         Clase objeto2 = new Clase(&quot;segundo&quot;);
         Console.WriteLine(&quot;Contador despues de crear objetos: &quot;+Clase.Contador);
         //eliminar referencias a los objetos
         objeto1 = null;
         objeto2 = null;
         //forzar al recolector de basura a ejecutarse
         System.GC.Collect();
         //esperar hasta que el recolector de basura termine su trabajo
         System.GC.WaitForPendingFinalizers();
         //despues de la recolecta de basura...
         Console.WriteLine(&quot;Despues de la recolecta de basura, contador: &quot;+Clase.Contador);
      }
   }
}</pre>
<p><a class="tooltip descargacodigo" title="Estáticas y destructores en C#::Contiene archivo fuente .cs" href="http://casidiablo.net/descargar/Variables+estaticas+constructrores+C+Sharp">Descargar código fuente</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/atributos-estaticos-destructores-c-sharp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

