sábado, 29 de enero de 2011

Tipos Genericos en C#

Esta es la forma para implementar métodos genéricos en C#. Nos sirven para la reusabilidad y seguridad de tipos.

en estos ejemplos T reemplaza al tipo....
Ejemplo sencillo...


static void Main(string[] args)
{
int[] arrayEntero = { 1, 2, 3, 4, 5 };
double[] arrayDoble = { 1.2, 3.4, 5.6, 9.8, 10.2 };
MuestraArray(arrayEntero);
MuestraArray(arrayDoble);
Console.ReadLine();
}

private static void MuestraArray (T[] arrayEntrada)
{
foreach (T element in arrayEntrada)
Console.Write(element + " ");

Console.Write("\n");

}

}


Con restriccion...

static void Main(string[] args)
{
Console.WriteLine("maximo de {0}, {1}, {2} es {3}",3.2,4.9,3.1,Maximo(3.2,4.9,3.1));
Console.WriteLine("maximo de {0}, {1}, {2} es {3}", 3, 9, 30, Maximo(3,9,30));
Console.WriteLine("maximo de {0}, {1}, {2} es {3}", "a", "b", "c", Maximo("a","b","c"));
Console.ReadLine();
}

private static T Maximo(T x, T y, T z)
where T:IComparable
{
T max = x;
if (y.CompareTo(max) > 0)
max = y;
if (z.CompareTo(max) > 0)
max = z;
return max;
}

Aqui utilizamos el método genérico Máximo, de tipo T y variables tambien de tipo T, el tipo T nos quiere decir que puede ser cualquiera: int, double, string, etc.

jueves, 20 de mayo de 2010

Desarrollo de Sistemas

Ofrezco desarrollo de sistemas basados en tecnologias .NET (2005,2008 y 2010). Sistemas de Escritorio y Web. Tambien servicios de consultoría. Precios cómodos.

miércoles, 19 de mayo de 2010

Desarrollo de Sistemas en Java (JSP)

Hola a todos, les ofrezco desarrollar sus aplicaciones en JSP utilizando desarrollo en capas. Utilizando el entorno NetBeans. Precios económicos a todo el mundo. Se ofrece el sistema en DVD y apoyo mediante chat via msn.

viernes, 16 de abril de 2010

Usando LINQ to Entities.

1. En Visual Studio 2008. Crear un nuevo sitio web.
2. En la carpeta App_Code, agregar como nuevo item un ADO.NET Entity Data Model.
3. Configurarlo para que llame a una base de datos de SQL Server.
4. En la pagina default.aspx colocar un gridview como ejemplo.
5. En el codigo vb de la default.aspx colocar lo siguiente:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim dc As New BASEModel.BASEEntities
Dim pere = From p In dc.TABLA01 Select p
Me.GridView1.DataSource = pere
Me.GridView1.DataBind()
End Sub
6. Ejecutar la pagina y se observan los datos.

miércoles, 15 de julio de 2009

FindControl en Visual Basic .NET

Como hacer que un valor de un objeto pase a el textbox que hemos agregado a una template column en visual basic .NET:

for j=0 to dtgDatos.items.count()-1
CType(Me.dtgDatos.Items(j).FindControl("txt1"), TextBox).Text = Me.objUtil.getVALOR(Session("sesion"), j)
next
Esto lo colocamos en el load del grid.

miércoles, 17 de junio de 2009

LINQ en Visual Basic 2008

Para llenar un GridView con LINQ podemos hacer lo siguiente. En el codigo de la pagina default.aspx colocamos lo siguiente en el metodo load

Dim prods = From p In dc.Products Where p.Category.CategoryName = "Beverages" Select p
Me.GridView1.DataSource = prods
Me.GridView1.DataBind()

Eso, si debemos crear antes del metodo load esto:
Dim dc As dcNorthWindDataContext = New dcNorthWindDataContext()

lunes, 15 de junio de 2009

Problema en SQL Server

Un amigo me reportó que no podía acceder a su servidor de SQL Server de manera local. No podía conectarse a la base desde una aplicacion elaborada en Visual Basic 2005.

La solucion, con la que se pudo conectar es esta:

Darle permisos al usuario guest
reiniciar el servidor de base de datos
repetir la conexion desde VB 2005
Desde el servidor (local) la conexion es:
Data Source=.;Initial Catalog=nombre_de_la_base;Integrated Security=True