在 C# 中获取对象的类型
Getting a type of of object in C#
在我的 Winform 项目中,我使用 treeview 标签来保存对象,treeview.tag 中存储了多种类型的对象,在尝试获取类型时它没有给出确切的类型,而不是class name 它给出了一个带有一些代理关键字的长名称(不像 namespace + class name)。
有没有什么方法可以从标签对象中得到实际的对象类型
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;
//
}
您可以使用 "IS" 运算符检查标签是产品还是类别,并使用 "AS" 运算符进行类型转换。下面是例子。
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;
}
在我的 Winform 项目中,我使用 treeview 标签来保存对象,treeview.tag 中存储了多种类型的对象,在尝试获取类型时它没有给出确切的类型,而不是class name 它给出了一个带有一些代理关键字的长名称(不像 namespace + class name)。
有没有什么方法可以从标签对象中得到实际的对象类型
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;
//
}
您可以使用 "IS" 运算符检查标签是产品还是类别,并使用 "AS" 运算符进行类型转换。下面是例子。
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;
}