calling/using给定的属性
calling/using the given attribute
我在 Tag
中没有为 treenode
做任何事情。那么这可能是一个非常简单的问题。我通过互联网搜索,找不到有用的东西。
我正在通过
为树节点分配一些标签
public class NodeTag
{
public NodeTag(string name, string ID)//, bool component, string script, bool child) //,ref parrent
{
NodeName = name;
NodeID = ID;
}
public string NodeName { get; set; }
public string NodeID { get; set; }
}
现在我想调用节点使用它的标签。我想访问 NodeName
。我试过
var value = node.Tag;
但它给了我预期的两个领域。如果我使用
我会出错
var value = node.Tag.NodeID;
你能帮帮我吗?
var value = node.Tag as NodeTag;
string node_ID = value.NodeID;
标记 属性 具有对象类型,可提供将任何对象存储为节点标记的能力。您必须将存储在 Tag 属性 中的对象转换为所需的类型,尤其是 NodeTag。
var id = ((NodeTag)node.Tag).NodeID
您可以添加一些扩展方法使其reader友好
public static int GetNodeID(this Node node)
{
return ((NodeTag)node?.Tag).NodeID;
}
现在可以使用了
var id = node.GetNodeID();
我在 Tag
中没有为 treenode
做任何事情。那么这可能是一个非常简单的问题。我通过互联网搜索,找不到有用的东西。
我正在通过
为树节点分配一些标签public class NodeTag
{
public NodeTag(string name, string ID)//, bool component, string script, bool child) //,ref parrent
{
NodeName = name;
NodeID = ID;
}
public string NodeName { get; set; }
public string NodeID { get; set; }
}
现在我想调用节点使用它的标签。我想访问 NodeName
。我试过
var value = node.Tag;
但它给了我预期的两个领域。如果我使用
我会出错var value = node.Tag.NodeID;
你能帮帮我吗?
var value = node.Tag as NodeTag;
string node_ID = value.NodeID;
标记 属性 具有对象类型,可提供将任何对象存储为节点标记的能力。您必须将存储在 Tag 属性 中的对象转换为所需的类型,尤其是 NodeTag。
var id = ((NodeTag)node.Tag).NodeID
您可以添加一些扩展方法使其reader友好
public static int GetNodeID(this Node node)
{
return ((NodeTag)node?.Tag).NodeID;
}
现在可以使用了
var id = node.GetNodeID();