我是否可以扩展 .Net 中的所有对象(不仅仅是 winforms 控件)以具有标记属性

本文关键字:控件 winforms 不仅仅是 属性 对象 Net 扩展 是否 | 更新日期: 2023-09-27 18:34:56

假设我正在编写自己的.Net :)版本

这种设置的缺点是什么?

是的,

我在这里谈论的是一个新的反模式,以避免创建无休止的元组和 EventArgs。我认为这样的设置会使编码更加干净。

我是否可以扩展 .Net 中的所有对象(不仅仅是 winforms 控件)以具有标记属性

No. Tag 属性有历史记录,它在 VB6 中很重要,Winforms 旨在替换它。 需要添加它以使移植代码相对简单。

这在 .NET 中是完全没有必要的。 它支持实现继承,这是 VB6 没有的功能。 因此,如果要添加额外的属性,则只需派生一个类并添加它们。 您将能够给它们一个好名字和一个类型,这样您就不必每次阅读属性时都进行强制转换。 这也适用于 Winforms 控件。