2016-04-11 15 views
0

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; 

私を助けてくれますか?

+0

それを使用することができますか? –

答えて

0

Tagプロパティには、任意のオブジェクトをノードタグとして格納する機能を提供するObject型があります。 Tagプロパティに格納されたオブジェクトを必要な型、特にNodeTagにキャストする必要があります。

あなたはそれが読者にやさしい

public static int GetNodeID(this Node node) 
{ 
    return ((NodeTag)node?.Tag).NodeID; 
} 

にするために、いくつかの拡張メソッドを追加することができ

var id = ((NodeTag)node.Tag).NodeID 

今、あなたは、エラーメッセージは何

var id = node.GetNodeID(); 
0
var value = node.Tag as NodeTag; 
string node_ID = value.NodeID; 
関連する問題