C# 扩展属性

C# 扩展属性,c#,C#,嗨, 我正在windows应用程序中创建一个用户控件,其中包含具有n个节点的Treeview 节点的数量将在运行时决定 我想在每个TreeNode上存储一些数据,当选择TreeNode时可以检索这些数据 问题是某些节点将存储custid、custname 一些存储studid、studname、、、、、、 我使用了扩展方法 静态类扩展 { 静态字典m_Dictionary=新字典(); 公共静态void SetTags(此TreeNode p_TreeNode,Dictionary p_Dict

嗨, 我正在windows应用程序中创建一个用户控件,其中包含具有n个节点的Treeview
节点的数量将在运行时决定
我想在每个TreeNode上存储一些数据,当选择TreeNode时可以检索这些数据
问题是某些节点将存储custid、custname
一些存储studid、studname、、、、、、

我使用了扩展方法
静态类扩展
{
静态字典m_Dictionary=新字典();
公共静态void SetTags(此TreeNode p_TreeNode,Dictionary p_Dictionary)
{
m_Dictionary=p_Dictionary;
}
公共静态字典GetTags(这个TreeNode p_TreeNode)
{
返回m_字典;
}
}
但这不会有帮助,因为我只获取最后一个节点上的数据
我怎样才能做到这一点
是否有类似于etension属性的东西……或者是否有其他解决方案

提前感谢,,,,,,
不,没有C#3.0这样的东西

看看这个:

不存在称为etension属性的属性,如果要向树节点添加简单的字符串数据,请使用
标记
属性。

我不能使用标记,因为它会混淆每个节点包含的不同数据。您是否尝试为其他信息添加对象??现在还不清楚你要存储什么样的数据是的。我已经创建了cutom EventArment类,该类将包含作为字典对象的data属性。@Sukesh Marla:您仍然可以在运行时确定节点的Tag属性所持有的类型;这可能是最好的办法。