estoy usando el siguiente código de valores de salida de propiedades:TargetParameterCountException al enumerar a través de propiedades de cadena
string output = String.Empty;
string stringy = "stringy";
int inty = 4;
Foo spong = new Foo() {Name = "spong", NumberOfHams = 8};
foreach (PropertyInfo propertyInfo in stringy.GetType().GetProperties())
{
if (propertyInfo.CanRead) output += propertyInfo.GetValue(stringy, null);
}
Si ejecuta este código para la int
, o para el tipo complejo Foo
, funciona bien. Pero si lo corro para la string
(como se muestra), me sale el siguiente error en la línea dentro del bucle foreach
:
System.Reflection.TargetParameterCountException: Parámetro recuento desajuste.
¿Alguien sabe lo que esto significa y cómo evitarlo?
En caso de que alguien pregunte '¿por qué está enumerando a través de las propiedades de una cadena', eventualmente espero crear una clase genérica que muestre las propiedades de cualquier tipo que se le pase (que podría ser una cadena ...) .
Tal vez sería más útil preguntar cómo crear una Enumerador de valor de propiedad basado en la reflexión? – hemp