Lenguajes
Acceder a una propiedad dinámicamente
by abraham on Jun.05, 2009, under C#
Constantemente se nos ha ocurrido construir una aplicación dinámica que acceda a las propiedades de un objeto de manera tal que no sea necesario conocer de antemano el nombre de estas.
La solución en .NET es reflection, parte del class library del framework 2.0 que nos permite acceder a estas, además de otras cosas, como actualizar los valores de los miembros de las clases como propiedades, variables públicas (fields), obtener los constructores, etc..
vasta con hacer el siguiente import:
using System.Reflection;
y ya tenemos disponible mediante <objeto>.getType() un conjunto de propiedades y métodos para acceder.
Ejemplo:
public class Foo {
private string var;
public string Var {
get {
return var;
} set {
var= value;
}
}
}
Usado System.Reflection podemos acceder a la propiedad Var de la clase Foo de la siguiente forma:
Foo myObjeto = new Foo();
string value = (string)myObjeto .GetType().InvokeMember(”Var“, BindingFlags.GetProperty, null,myObjeto, new object[] { });
Donde “Var” es la propiedad accedida dinámicamente, BindingFlags.GetProperty es la acción que se está realizando, en este caso Obtener Propiedad (hay para otros miembros y asignaciones)
Hay otras formas más cortas pero menos dinámicas por ejemplo:
string value = myObjeto .GetType().GetProperty(“Var”).GetValue(myObjeto , new object[] { })
Si se fijan “Var” está entre comillas lo que significa que puede ser cualquier string, una constante, variable o una key en el archivo de configuración.
Tabla con Códigos HTML
by MigueliTUX on Apr.16, 2009, under HTML, Lenguajes, Linux, Windows
http://ascii.cl/es/codigos-html.htm
Tabla de Códigos ASCII
by MigueliTUX on Apr.16, 2009, under Lenguajes, Linux, Windows
http://ascii.cl/es/
Autoincrementar número de versión en .NET
by MigueliTUX on Mar.25, 2009, under C#, VB.NET
Si necesitas incrementar el numero de version en .net
debes
hacer doble clic en My Project
luego editar el archivo AssemblyInfo.vb
remplazar <Assembly: AssemblyVersion(”1.0.0.0″)>
por <Assembly: AssemblyVersion(”1.0.*”)>
Mover un archivo en VB.net
by MigueliTUX on Mar.23, 2009, under VB.NET
My.Computer.FileSystem.MoveFile(”c:\miarchivo.txt”, “d:\miarchivo.txt, True)