Categorías
C#.Net

Obtenga propiedades y valores de objetos de lista usando Reflection en C #, VB.NET

Introducción:


Aquí aprenderemos cómo usar la reflexión para obtener propiedades y valores de objetos de lista en c #, vb.net con ejemplo u obtener todas las propiedades y valores de un objeto en c #, vb.net con ejemplo u obtener la lista de propiedades de la lista de objetos usando reflexión en c #, vb.net o cómo obtener nombres y valores de propiedad usando la reflexión en c #, vb.net con ejemplo. Mediante el uso Reflexión
properties, podemos obtener fácilmente nombres y valores de propiedades de objetos de lista según nuestros requisitos.


Descripción:


En artículos anteriores expliqué enviar lista genérica como parámetro para funcionar en c #, convertir objeto de lista a cadena json en c #, vb.net, enlazar lista genérica al ejemplo de gridview en asp.net, jQuery enlazar datos a asp.net ejemplo de gridview, diccionario objeto 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 la lista genérica, asp.net, mvc, c # , vb.net. Ahora explicaré cómo obtener todos los nombres y valores de propiedad de un objeto en c #, vb.net con example.





Al usar las propiedades de Reflection (PropertiesInfo), podemos obtener fácilmente los nombres y valores de las propiedades de los objetos de lista según 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.


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


Así es como podemos acceder a todos los nombres y valores de propiedad de un objeto según nuestros requisitos.


.

  Asp.Net Genera y lee código QR en una aplicación web usando C #, VB.NET

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 *