Compartilhar via


Referência a um membro não compartilhado requer referência de objeto

Você fez referência a um membro não compartilhado no código e não conseguiu fornecer uma referência de objeto. Você não pode usar o próprio nome de classe para qualificar um membro que não é compartilhado. Primeiramente, a instância deve ser declarada como uma variável de objeto e, em seguida, referenciada pelo nome da variável.

ID do erro: BC30469

Para corrigir este erro

  1. Declare a instância como uma variável de objeto.

  2. Referencie a instância pelo nome da variável.

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

Confira também