제네릭을 사용하지 않고 유형 정보를 얻는 방법은 무엇입니까?
문제
나는있다 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();
그것은 당신에게 typeinfo를 줄 것입니다.
제휴하지 않습니다 StackOverflow