Introducción:
Aquí aprenderemos cómo obtener nombres y valores de propiedades de objetos usando reflexión reflexión en c #, vb.net con ejemplo o usar reflexión para obtener todos los tipos de propiedad y nombres de un objeto en c #, vb.net con ejemplo o reflexión para obtener todas las propiedades de cualquier objeto en c #, vb.net o método de reflexión Type.GetAllProperties para obtener todas las propiedades y valores de un objeto en c #, vb.net con ejemplo. Mediante el uso Reflexión
properties, podemos obtener fácilmente todos los nombres y valores de propiedad de los objetos en función de nuestros requisitos.
properties, podemos obtener fácilmente todos los nombres y valores de propiedad de los objetos en función de nuestros requisitos.
Descripción:
En artículos anteriores expliqué enviar imágenes de visualización en gridview desde la base de datos en asp.net, asp.net cargar la imagen y mostrar la vista previa de la imagen antes de cargarla, mostrar imágenes en informes de cristal en asp.net con el ejemplo, asp.net abrir archivo pdf en el navegador web con ejemplo, jQuery zoom image en el mouse sobre con ejemplo, objeto de diccionario en c #, vb.net con ejemplo, constructor estático en c #, vb.net con ejemplo, diferencia entre ref y out en c #, vb.net con ejemplo y muchos más artículos relacionados con lista genérica, asp.net, mvc, c #, vb.net. Ahora explicaré cómo usar la reflexión para obtener nombres y valores de propiedades de objetos en c #, vb.net con un ejemplo.
Utilizando Reflection PropiedadesInfo podemos obtener fácilmente los nombres y valores de las propiedades de la lista de objetos en función de nuestros requisitos.
A continuación se muestra el fragmento de código simple para obtener todos los nombres de propiedad y valores de un objeto en c #, vb.net usando la reflexión.
Código C #
Escribe tipo = usuario.GetType ();
PropertyInfo[]
props = type.GetProperties ();
cuerda str = «{«;
para cada (var apuntalar en accesorios)
{
str + = (prop.Name +«:»+ prop.GetValue (usuario)) +«,»;
}
regreso str.Remove (str.Length-1) +«}»;
|
Código VB.NET
Oscuro escribe Como Escribe = usuario.[GetType]()
Oscuro accesorios() Como PropertyInfo = tipo.GetProperties ()
Oscuro str Como Cuerda = «{«
Para Cada apuntalar En accesorios
str + = (prop.Name + «:» + CStr(prop.GetValue (usuario))) + «,»
Próximo
Regreso str.Remove (str.Length – 1) + «}»
|
Si desea un ejemplo completo para obtener todas las propiedades y valores de un objeto, escriba el código como se muestra a continuación.
Código C #
usando Sistema;
usando
System.Collections.Generic;
usando
System.Reflection;
espacio de nombres
SampleConsoleApp
{
clase Programa
{
estático vacío Principal(cuerda[] argumentos)
{
Lista<Detalles de usuario> artículos = nuevo Lista<Detalles de usuario> ();
elementos.Añadir (nuevo Detalles de usuario {userid = 1, username = «seguro», ubicación = «Chennai» });
elementos.Añadir (nuevo Detalles de usuario {userid = 2, username = «rohini», ubicación = «guntur» });
elementos.Añadir (nuevo Detalles de usuario {userid = 3, username = «praveen», ubicación = «bangalore» });
elementos.Añadir (nuevo Detalles de usuario {userid = 4, username = «sateesh», ubicación = «vizag» });
elementos.Añadir (nuevo Detalles de usuario {userid = 5, username = «madhav», ubicación = «nagpur» });
elementos.Añadir (nuevo Detalles de usuario {userid = 6, username = «cariño», ubicación = «nagpur» });
cuerda strmsg = cuerda.Vacío;
para cada (var usuario en artículos)
{
strmsg = GetPropertyValues (usuario);
Consola.WriteLine (strmsg);
}
Consola.ReadLine ();
}
privado estático cuerda
GetPropertyValues ( Detalles de usuario usuario)
{
Escribe tipo = usuario.GetType ();
PropertyInfo[]
props = type.GetProperties ();
cuerda str = «{«;
para cada (var apuntalar en accesorios)
{
str + = (prop.Name +«:»+ prop.GetValue (usuario)) +«,»;
}
regreso
str.Remove (str.Length-1) + «}»;
}
}
clase Detalles de usuario
{
público En t userid { obtener; colocar; }
público cuerda nombre de usuario {
obtener; colocar; }
público cuerda localización {
obtener; colocar; }
}
}
|
Código VB.NET
Importaciones
Sistema.Reflexión
Módulo Módulo 1
Sub Principal()
Oscuro artículos Como Nuevo Lista(De Detalles de usuario) ()
Oscuro usuario Como Nuevo Detalles de usuario()
elementos.Añadir (Nuevo Detalles de usuario() Con {
.userid = 1,
.username = «seguro»,
.location = «Chennai»
})
elementos.Añadir (Nuevo Detalles de usuario() Con {
.userid = 2,
.username = «rohini»,
.location = «guntur»
})
elementos.Añadir (Nuevo Detalles de usuario() Con {
.userid = 3,
.username = «praveen»,
.location = «bangalore»
})
elementos.Añadir (Nuevo Detalles de usuario() Con {
.userid = 4,
.username = «sateesh»,
.location = «vizag»
})
elementos.Añadir (Nuevo Detalles de usuario() Con {
.userid = 5,
.username = «madhav»,
.location = «nagpur»
})
elementos.Añadir (Nuevo Detalles de usuario() Con {
.userid = 6,
.username = «cariño»,
.location = «nagpur»
})
Oscuro strmsg Como Cuerda = Cuerda.Vacío
Para Cada usuario En artículos
strmsg = GetPropertyValues (usuario)
Consola.WriteLine (strmsg)
Próximo
Consola.ReadLine ()
Fin Sub
Privado Función
GetPropertyValues (usuario Como Detalles de usuario) Como Cuerda
Oscuro escribe Como Escribe = usuario.[GetType]()
Oscuro accesorios() Como PropertyInfo = tipo.GetProperties ()
Oscuro str Como Cuerda = «{«
Para Cada apuntalar En accesorios
str + = (prop.Name + «:» + CStr(prop.GetValue (usuario))) + «,»
Próximo
Regreso
str.Remove (str.Length – 1) + «}»
Fin Función
Clase Detalles de usuario
Público Propiedad ID de usuario () Como Entero
Obtener
Regreso m_userid
Fin Obtener
Colocar
m_userid = Valor
Fin Colocar
Fin Propiedad
Privado m_userid Como Entero
Público Propiedad nombre de usuario()
Como Cuerda
Obtener
Regreso m_username
Fin Obtener
Colocar
m_username = Valor
Fin Colocar
Fin Propiedad
Privado m_username
Como Cuerda
Público Propiedad localización()
Como Cuerda
Obtener
Regreso m_location
Fin Obtener
Colocar
m_location = Valor
Fin Colocar
Fin Propiedad
Privado m_location
Como Cuerda
Fin Clase
Fin Módulo
|
Si observa el código anterior, agregamos un espacio de nombres «Sistema.Reflexión«Para obtener propiedades y valores de un objeto usando PropertyInfo
propiedad.
propiedad.
Manifestación
Cuando ejecutamos el código anterior, obtendremos un resultado como el que se muestra a continuación
|
.