C#中的*tag*属性有什么用途?

7
我已经使用C#工作了一年多,我想知道控件的标记属性还有哪些功能。到目前为止,我使用过的每个.NET控件(按钮、标签、文本框、网格视图等)都有一个可以定义的标记属性。
我只知道你可以将类似文本字符串的东西放在里面。
Visual Studio的描述如下:
用户定义与控件相关的数据
标记属性除此之外还有其他功能吗?描述它的内容?在哪里使用它?对你们中的任何人有用吗?
1个回答

11

不,它本身并没有做任何事情。你可以根据自己的需要使用它。例如,您可以使用它来进行简化数据绑定,将用户可见文本放入复选框中,并将要存储在数据库中的值(例如枚举值)放入标签中。然后稍后从标签中检索它。

在我的经验中,它通常用于“快速而粗略”的情况,虽然有更好的工作方式,但需要编写更长的代码 - 这对于临时代码来说是可以的,但对于复杂的生产系统来说并不理想。当然,这可能不总是这种情况。


1
同意使用“快速而肮脏”的方法。我认为这是 Delphi(也是 Anders Hejlsberg 设计的)的遗产,我自己也使用它(尤其是在 TreeNodes 或其他类似情况下),但总觉得这样做不太对 :) - OregonGhost
1
@Pieter888:当然。据我所知,这只是控件上的一个额外属性,在框架代码中被忽略了。 - Jon Skeet
我们确定这是Delphi的遗留问题,而不是经典VB的遗留问题吗?我不记得我第一次在经典VB中看到控件上的Tag属性是什么时候,但最晚可能在VB5。 (我似乎记得,在VB4中看到它们,虽然我可能错了。) - John Rudy
我发现标签还是很有用处的,我为一些文本框控件定义了一个默认值并保存在标签中,当我调用setDefaults()函数时,它会将文本框的文本值更改为控件的标签值。我开始喜欢标签了 :) - Pieter888

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接