如何在Visual Basic中向System.Console类添加方法

时间:2012-09-20 03:50:54

标签: visual-studio-2010 class methods

我对Visual Basic没什么经验。

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

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

1 个答案:

答案 0 :(得分:1)

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

看看你的签名:

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

通过引用来获取类标识符是没有意义的(对于那个问题)(或根本没有)?