Categorías
c#

Reflexión para obtener todos los nombres y valores de propiedades de lista en C #, VB.NET

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.


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.


Manifestación


Cuando ejecutamos el código anterior, obtendremos un resultado como el que se muestra a continuación


.

  Imagen de visualización de jQuery basada en la URL de la imagen con ejemplo

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *