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.
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.
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.
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.
.