Pregunta

Tengo una object obj que se pasa a un método de ayuda.

public static MyTagGenerateTag<T>(this HtmlHelper htmlHelper, T obj /*, ... */)
{
    Type t = typeof(T);

    foreach (PropertyInfo prop in t.GetProperties())
    {
        object propValue = prop.GetValue(obj, null);
        string stringValue = propValue.ToString();
        dictionary.Add(prop.Name, stringValue);
    }

    // implement GenerateTag
}

Me han dicho que esto no es un uso correcto de los medicamentos genéricos. ¿Puede alguien decirme si puedo conseguir el mismo resultado sin especificar un tipo genérico? Si es así, ¿cómo?

Yo probablemente cambiar la firma por lo que sería como:

public static MyTag GenerateTag(this HtmlHelper htmlHelper, object obj /*, ... */)
{
    Type t = typeof(obj);
    // implement GenerateTag
}

Type t = typeof(obj); pero es imposible.

¿Alguna sugerencia?

Gracias

David

¿Fue útil?

Solución

Type t = obj.GetType();

A pesar de que yo no creo que haya ningún problema con lo que tienes en este momento.

Otros consejos

¿Qué pasa con sólo hacer:

Type t = obj.GetType();

Eso te dará la TypeInfo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top