Поделиться через


Для ссылки на член, не являющийся общим, требуется ссылка на объект

В коде имеется ссылка на член, не являющийся общим, и не удалось предоставить ссылку на объект. Нельзя использовать имя самого класса для уточнения члена, который не является общим. Экземпляр сначала должен быть объявлен как объектная переменная, а затем можно ссылаться на него по имени этой переменной.

Идентификатор ошибки: BC30469

Исправление ошибки

  1. Объявите экземпляр как объектную переменную.

  2. Ссылайтесь на экземпляр по имени этой переменной.

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

См. также