1

我的目标是为一个对象编写一个打印到控制台的方法。该方法不需要参数,但仍然使用该对象。调用它看起来像:

Dim oBHKW As cBHKW
oBHKW.print()

但是在 cBHKW 类中,如何使用 oBHKW 对象呢?我尝试了以下但没有成功。

Public Sub print(ByVal sender As Object)
Console.WriteLine(sender.ToString)
End Sub
4

2 回答 2

3

使用扩展方法

Imports System.Runtime.CompilerServices

Module ObjectExtensions
  <Extension()>
  Public Sub Print(sender As Object)
    Console.WriteLine(sender.ToString())
  End Sub
End Module
Module Module1

  Sub Main()
    Dim obj As New TestObject()
    obj.Print()
  End Sub

End Module
Public Class TestObject

End Class

您现在拥有的任何对象都可以调用“Print()”,它会将对象本身发送到方法。

http://msdn.microsoft.com/en-us/library/bb384936.aspx

于 2012-08-30T09:03:14.270 回答
1

看看我的关键字

Me 关键字提供了一种方法来引用当前执行代码的类或结构的特定实例。

所以像

Public Sub print() 
Console.WriteLine(Me.ToString) 
End Sub 
于 2012-08-30T09:00:40.267 回答