Como obter informações de tipo sem usar genéricos?
Pergunta
eu tenho um object obj
que é passado para um método auxiliar.
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
}
Disseram -me que este não é um uso correto de genéricos. Alguém pode me dizer se eu posso alcançar o mesmo resultado sem especificar um tipo genérico? Se sim, como?
Eu provavelmente mudaria a assinatura para que fosse:
public static MyTag GenerateTag(this HtmlHelper htmlHelper, object obj /*, ... */)
{
Type t = typeof(obj);
// implement GenerateTag
}
mas Type t = typeof(obj);
é impossível.
Alguma sugestão?
Obrigado
Dave
Solução
Type t = obj.GetType();
Embora eu não ache que não haja algum problema com o que você tem no momento.
Outras dicas
Que tal apenas fazer:
Type t = obj.GetType();
Isso deve dar a você o tipoInfo.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow