gpt4 book ai didi

c# - Winforms中的Tag属性有什么用?

转载 作者:可可西里 更新时间:2023-11-01 03:04:25 24 4
gpt4 key购买 nike

我注意到带有控件的 Tag 属性。可以使用它来引用我的自定义对象吗,还是我应该远离它,因为它需要装箱和拆箱,这被认为是不安全的,因此不推荐。

TreeNode tn = new TreeNode();
CustClass o = new CustClass()
o.number = 123;
tn.Tag = o;

class CustClass
{
public int number {get; set;}
}

最佳答案

Tag 属性的目的是让您可以将其用于您想要的任何目的。您可以安全地在其中存储任何您想要的东西。

通常声明一个专门用于存储在 Tag 属性中的类(就像您对 CustClass 所做的那样)。但是如果你只需要其中的一个值,那么直接在其中存储一个 int 就没有错。

您从哪里了解到装箱/拆箱是“不安全的”?那绝对不是真的。 (有些人声称它效率低下,但事实并非如此。)此外,您的代码甚至根本不包含装箱示例。 CustClass 是一个引用类型。当分配给 object 时,只有值类型被装箱。

关于c# - Winforms中的Tag属性有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3823669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com