Как получить информацию типа без использования дженериков?
Вопрос
у меня есть object obj
Это передается в помощник метода.
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
}
Мне сказали, что это не правильное использование дженериков. Кто -нибудь может сказать мне, смогу ли я достичь того же результата без указания общего типа? Если да, то как?
Я бы, наверное, изменил бы подпись, так что это было бы похоже на:
public static MyTag GenerateTag(this HtmlHelper htmlHelper, object obj /*, ... */)
{
Type t = typeof(obj);
// implement GenerateTag
}
но Type t = typeof(obj);
невозможно.
Какие-либо предложения?
Спасибо
Дэйв
Решение
Type t = obj.GetType();
Хотя я не думаю, что есть какие -либо проблемы с тем, что у вас есть в данный момент.
Другие советы
Как насчет просто делать:
Type t = obj.GetType();
Это должно дать вам типинфо.
Не связан с StackOverflow