2017-04-22 4 views
0

에 개체 유형을 가져 오는 중 개체를 보관하기 위해 treeview 태그를 사용하고 있습니다. 개체 유형이 여러 가지이며 treeview.tag에 저장되며 형식을 얻지 못하면 정확한 유형 대신 클래스 이름 대신 일부 프록시 키워드 (이름 공간 + 클래스 이름과 달리)가 긴 이름을 제공합니다.내 Winform 프로젝트의 C#

태그 유형 캐스트에 대한 연산자 "있는 그대로"제품 또는 종류와인지

var tag= e.Node.Tag; 
Type gettype=tag.GetType 
//MessageBox.Show(gettype.ToString());   
if (gettype.Equals(typeof(Product))) 
{ 
    var product = (Product)e.Node.Tag; 
    //    
} 
if (gettype.Equals(typeof(Category))) 
{ 
    var caegory= (Category)e.Node.Tag; 
//    
} 
+0

"주는 중"이란 정확히 무엇을 의미합니까? 의사 코드가 아닌 [mcve]를 제공 할 수 있다면 정말 도움이 될 것입니다. –

+0

Entity Framework를 사용하고 있습니까? –

+0

엔티티 프레임 워크를 사용하여 객체를 가져 오면 treeview의 tag 속성에 할당됩니다. – user3658516

답변

2

당신은 확인하기 위해 운영자 "있는"사용할 수있는 태그 개체에서 실제 객체 유형을 얻을 수있는 방법이 있나요 . 아래는 그 예입니다.

var tag = e.Node.Tag; 
    if (tag is Product) 
    { 
     var product = e.Node.Tag as Product; 
    } 
    if (tag is Category) 
    { 
     var caegory = e.Node.Tag as Category; 
    }