Freigeben über


Der Verweis auf einen nicht freigegebenen Member erfordert einen Objektverweis

Sie haben auf einen nicht freigegebenen Member im Code verwiesen, ohne einen Objektverweis bereitzustellen. Sie können nicht den Klassennamen selbst für die Qualifizierung eines nicht freigegebenen Members verwenden. Die Instanz muss zunächst als Objektvariable deklariert werden, auf die dann durch den Variablennamen verwiesen werden kann.

Fehler-ID: BC30469

So beheben Sie diesen Fehler

  1. Deklarieren Sie die Instanz als Objektvariable.

  2. Verweisen Sie über den Variablennamen auf die Instanz.

Imports System

Namespace Ecommerce
    Public Class Customer
        Private Property AccountNumber As Integer

        Public Sub New (accountNumber As Integer)
            AccountNumber = accountNumber
        End Sub

        Public Function GetAccountNumber ()
            return AccountNumber + accountNumber
        End Function
    End Class
End Namespace

Module Program
Sub Main(args As String())
        ' Declaring the instance as an object variable:
        Dim firstCustomer As New Ecommerce.Customer(1)
        Dim firstCustomerAccountNumber As Integer

        ' You must not use Ecommerce.Customer.GetAccountNumber() because you
        ' cannot access non-shared Function 'GetAccountNumber' in shared context.
        ' Otherwise, use the instance you've just created to call the function:
        firstCustomerAccountNumber = firstCustomer.GetAccountNumber()
        Console.WriteLine(firstCustomerAccountNumber)
    End Sub
End Module

Weitere Informationen