CSS is awesome!! El css es genial!!
![](http://img820.imageshack.us/img820/9559/6709540.jpg)
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúpublic class Product
{
public decimal GetPrice()
{
return 5;
}
}
public class Service
{
public decimal GetPrice()
{
return 9;
}
}public object RetrieveItem(bool b)
{
if(b)
return new Product();
else
return new Service();
}
dynamic item = RetrieveItem(true);
decimal value = item.GetPrice();
private void SetName(string name="Juan")
{
//...
}
SetName();
private void SetInfo(string name="Juan",
string lastName="Andreu",
int age=23)
{
//...
}
SetInfo(lastName:"Pérez",age:18);
Citar
Demo page: http://people.opera.com/brucel/talks/2010/FOWD/FOWD-brucelawson.html
Video of presentation (not transcribed yet by organiser) http://vimeo.com/12042789
Patrick Lauke's fancy swap video playlist http://people.opera.com/patrickl/articles/chip.eu-video-article/examples/fancy-swap/
Miro Video Converter (now does WebM, too!) http://www.mirovideoconverter.com/
Diagram: What HTML5 isn't http://www.flickr.com/photos/24374884@N08/4603715307/
CitarDotNetZip es una herramienta fácil de usar, rápida, gratuita biblioteca de clases y herramientas para manipular los archivos zip o carpetas. Comprimir y descomprimir es fácil: con DotNetZip,. NET escrito en Visual Basic, C # (cualquier lenguaje .NET) puede crear, leer, extraer, o actualizar archivos zip. En mono, o MS. NET.
DotNetZip funciona con la version full de .NET Framework, y también funciona en dispositivos móviles que utilizan el. NET Compact Framework. Crear y leer archivos zip en VB, C #, o cualquier otro. NET, o cualquier otro entorno de programación. DotNetZip apoya estos escenarios:
- Una aplicación ASP.NET que se crea de forma dinámica los archivos ZIP y permite que un navegador para descargar
- Un servicio de Windows que periódicamente comprime un directorio para fines de copia de seguridad y de archivo
- Un programa de WPF que modifica los archivos existentes - cambiar el nombre de las entradas, la eliminación de las entradas de un archivo, o añadir nuevas entradas a un archivo
- Una aplicación de Windows Forms que crea AES-archivos zip cifrado de la vida privada de los contenidos archivados.
- Una secuencia de comandos administrativos en PowerShell o VBScript que realiza la copia de seguridad y archivo.
- Un servicio de WCF que recibe un archivo zip como un archivo adjunto, y dinámicamente descomprime el zip a un flujo para el análisis de
- Una vieja escuela ASP (VBScript) de aplicación que genera un archivo ZIP a través de la interfaz COM para DotNetZIp
- Una aplicación de Windows Forms que se lee o actualizaciones de los archivos de SAO
- La creación de archivos zip de los contenidos corriente, de ahorro de un arroyo, la extracción de un arroyo, la lectura de un arroyo
- La creación de archivos de auto extracción.
public class NetworkServer
{
public static void Main()
{
//creamos un thread para que el server
//se ejecute en paralelo con el cliente
//esto es solo por motivos prácticos del demo
new Thread(new ThreadStart(
delegate {
new NetworkServer().Start(); }
)).Start();
//Iniciamos el Cliente
new Client().Connect();
Console.WriteLine("Listo");
Console.Read();
}
public void Start()
{
// Creamos un TcpListener y le indicamos que
//puerto va a poner en escucha.
TcpListener tcpListener = new TcpListener(9898);
//Iniciamos la esucha
tcpListener.Start();
//Este método queda bloqueado hasta que
//se conecte un cliente
Socket socketForClient = tcpListener.AcceptSocket();
if (socketForClient.Connected)
{
// Si se conecta
Console.WriteLine("Cliente conectado.");
//Creamos el networkSream, el Reader y el writer
NetworkStream networkStream =
new NetworkStream(socketForClient);
StreamWriter streamWriter =
new StreamWriter(networkStream);
StreamReader streamReader =
new StreamReader(networkStream);
//Esta es la data a enviar.
string theString = "Esta es la data de envio";
try
{
//Escribimos la data en el stream
streamWriter.WriteLine(theString);
//Ahora le decimos que la mande.
streamWriter.Flush();
//Esperamos data del cliente
//Y la escribimos por consola.
theString = streamReader.ReadLine();
Console.WriteLine(theString);
}
finally
{
//Cerramos las conexiones
streamReader.Close();
streamWriter.Close();
networkStream.Close();
socketForClient.Close();
}
}
}
}
public class Client
{
public void Connect()
{
TcpClient socketForServer;
string server = "localhost";
try
{
//Creamos un TcpCliente y le pasamos
//el server y el puerto.
socketForServer = new TcpClient(server, 9898);
}
catch
{
Console.WriteLine(
"No se pudo conectar a {0}:9898", server);
return;
}
//aqui es lo mismo que en el server. Usamos StreamWriter y Reader.
NetworkStream networkStream = socketForServer.GetStream();
StreamReader streamReader =
new System.IO.StreamReader(networkStream);
StreamWriter streamWriter =
new System.IO.StreamWriter(networkStream);
try
{
string outputString = streamReader.ReadLine();
Console.WriteLine(outputString);
streamWriter.WriteLine("Mensaje desde el Cliente");
streamWriter.Flush();
}
catch
{
Console.WriteLine("Exception reading from Server");
}
finally
{
networkStream.Close();
}
}
}
delegate void DoProcessDelegate(string text);
DoProcessDelegate delegate = new DoProcessDelegate(DoProcess);
string a = delegate("hola mundo");
DoProcessDelegate delegate = new DoProcessDelegate(DoProcess);
delegate.BeginInvoke("Hola Mundo", new AsyncCallback(ProcessEnded), "prueba");
void DeleteAllFiles();
Thread myThread = new Thread(new ThreadStar(DeleteAllFiles));
myThread.Start();
public void main(string[] args)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(MyMethod));
Thread.Sleep(5000); //El Sleep "duerme" el hilo acual, sino hacemos ésto,
//otra cosa u proceso el hilo del ThreadPool no
//se ejecutará ya que el hilo principal se termina.
}
public void MyMethod(object obj)
{
//Algún proceso
}
static void main(string[] args)
{
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork+=new DoWorkEventHandler(worker_DoWork);
worker.RunWorkerAsync(); //aquí tenemos una sobre carga para pasarle
//un object al método worker_DoWork
}
static void worker_DoWork(object sender, DoWorkEventArgs e)
{
// éste código se ejecuta asíncrono
//en el parámetro DoWorkEventArgs encontramos el object que se envia desde RunWorkerAsync()
//además de la posiblidad de cancelar en e.Cancel, y de enviar un valor de retorno por e.Result
}