我有一个传递给帮助方法的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);
是不可能的。
有什么建议吗?
由于
戴夫
答案 0 :(得分:10)
Type t = obj.GetType();
虽然我认为你现在所拥有的东西没有任何问题。
答案 1 :(得分:1)
刚刚做的事情:
Type t = obj.GetType();
那应该给你TypeInfo。