Impossibile inizializzare il membro '<nome membro>' in un'espressione dell'inizializzatore di oggetto perché è condiviso

Aggiornamento: novembre 2007

Member '<membername>' cannot be initialized in an object initializer expression because it is shared

Impossibile utilizzare gli inizializzatori di oggetto per inizializzare qualsiasi membro di una classe dichiarato come condiviso. Per ulteriori informazioni, vedere Shared (Visual Basic).

ID errore: BC30991

Per correggere l'errore

  1. Esaminare la definizione della classe per determinare quale membro è condiviso.

  2. Eliminare l'inizializzazione per quel membro dall'elenco dell'inizializzatore di oggetto.

Esempio

Nell'esempio seguente, totalCustomers è un membro condiviso.

Public Class Customer
    Public Shared totalCustomers As Integer
    ' Other declarations and method definitions.
End Class

Poiché totalCustomers è condiviso, il tentativo di impostare il relativo valore iniziale in un elenco dell'inizializzatore di oggetto genera questo errore.

' This declaration is not valid.
' Dim cust As New Customer With { .Name = "Coho Winery", _
'                                 .totalCustomers = 21 }

Vedere anche

Concetti

Inizializzatori di oggetto: tipi denominati e tipi anonimi

Membri condivisi in Visual Basic

Riferimenti

Shared (Visual Basic)