0

我对 Visual Basic 几乎没有经验。

我想为我正在制作的简单控制台应用程序向 System.Console 类添加一些方法。我知道向类添加扩展方法的方法。我试过这段代码,但它给出了错误:对非共享成员的引用需要对象引用。

Imports System.Runtime.CompilerServices
Module Module1

    <Extension()>
    Public Sub WriteStuff(ByRef Console As System.Console, ByVal Output As String)

        Console.Write(Output & "?")

    End Sub

    Sub Main()

        Console.WriteStuff("Hello")
        Console.ReadKey()

    End Sub

End Module
4

1 回答 1

1

扩展方法是实例方法;它们不能静态应用。 System.Console是一个类,而不是一个对象,像这样的方法ReadKey()是静态的。不允许使用静态扩展方法。

看你的签名:

Public Sub WriteStuff(ByRef Console As System.Console, ...

通过引用获取类标识符是没有意义的,对吧(或者根本就没有)?

于 2012-09-20T03:53:05.540 回答