如何使用VB.NET在类中扩展额外函数?

2026-05-06 11:231阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计321个文字,预计阅读时间需要2分钟。

如何使用VB.NET在类中扩展额外函数?

Rectangle类缺少公开操作矩形的函数。例如,我只想要修改Bottom值。现有的功能不允许我这样做。我发现创建一个新的矩形类来完成这项工作。这让我想到一个完美的解决方案。

“Rectangle”类没有公开我需要操作矩形的所有函数.
例如,我经常只想更改“.Bottom”值.
现有的功能都不允许我这样做,我发现自己创建了一个新的矩形来完成我需要的工作.

这让我想到一个普遍的问题:
是否可以向框架中的类添加其他函数,然后在我的整个项目中可用?

如何使用VB.NET在类中扩展额外函数?

你可以

>通过extension methods扩展类(如Rectangle)
>创建一个包含Rectangle实例(具有矩形)的自定义类,并添加其他属性和方法

请注意,您不能继承Rectangle来扩展它的功能,因为它不是Class而是Structure.

这是一个简单的扩展:

Module RectangleExtensions <System.Runtime.CompilerServices.Extension()> _ Public Sub Move(rectangle As Rectangle, x As Int32, y As Int32) rectangle.Location = New Point(x, y) End Sub End Module

您可以使用它,就像它是Rectangle中的现有方法一样

Dim rec = New Rectangle(New Point(100, 100), New Size(50, 50)) rec.move(100, 200)

本文共计321个文字,预计阅读时间需要2分钟。

如何使用VB.NET在类中扩展额外函数?

Rectangle类缺少公开操作矩形的函数。例如,我只想要修改Bottom值。现有的功能不允许我这样做。我发现创建一个新的矩形类来完成这项工作。这让我想到一个完美的解决方案。

“Rectangle”类没有公开我需要操作矩形的所有函数.
例如,我经常只想更改“.Bottom”值.
现有的功能都不允许我这样做,我发现自己创建了一个新的矩形来完成我需要的工作.

这让我想到一个普遍的问题:
是否可以向框架中的类添加其他函数,然后在我的整个项目中可用?

如何使用VB.NET在类中扩展额外函数?

你可以

>通过extension methods扩展类(如Rectangle)
>创建一个包含Rectangle实例(具有矩形)的自定义类,并添加其他属性和方法

请注意,您不能继承Rectangle来扩展它的功能,因为它不是Class而是Structure.

这是一个简单的扩展:

Module RectangleExtensions <System.Runtime.CompilerServices.Extension()> _ Public Sub Move(rectangle As Rectangle, x As Int32, y As Int32) rectangle.Location = New Point(x, y) End Sub End Module

您可以使用它,就像它是Rectangle中的现有方法一样

Dim rec = New Rectangle(New Point(100, 100), New Size(50, 50)) rec.move(100, 200)