2010-03-15 4 views
1

나는 도우미 메서드에 전달 된 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);이 불가능하다 : 그것은 같은 것 때문에

는 아마 서명을 변경합니다.

제안 사항?

감사

데이브

+1

올바른 이유가 아닌 이유는 무엇입니까? –

답변

10

Type t = obj.GetType();

내가 어떤 문제가 당신이 순간에 무엇을 함께 생각하지 않지만. 무엇 단지 일에 대한

1

:

Type t = obj.GetType(); 

당신에게 소속 카테고리를 제공해야한다고.

관련 문제