La liaison tardive et Option Strict

J'ai ce problème avec la liaison tardive: je suis entrain de créer une liste d'épicerie de l'application. J'ai une classe nommée Item qui stocke les name, price, quantity, et description d'un élément sur la liste d'épicerie.

J'ai un module nommé ListCollection qui définit un Collection de Item objets. J'ai créé un Edit formulaire qui s'affiche automatiquement sélectionné ListCollection propriétés de l'élément, mais à chaque fois que je tente de remplir les zones de texte, il me dit que Option Strict interdit la liaison tardive.

Que j'ai PU prendre la voie facile et désactiver Option Strict, mais je préfère comprendre ce que le problème est que je sais pour référence future.

Je ne collez code ici. (Liaison tardive erreur est dans EditItem.vb.)

Élément.code visual basic:

' Member variables:
Private strName As String

' Constructor
Public Sub New()
    strName = ""

' Name property procedure
Public Property Name() As String
    Get
        Return strName
    End Get
    Set(ByVal value As String)
        strName = value
    End Set
End Property

Ensembliste.code visual basic:

' Create public variables.
Public g_selectedItem As Integer ' Stores the currently selected collection item.

' Create a collection to hold the information for each entry.
Public listCollection As New Collection

' Create a function to simplify adding an item to the collection.
Public Sub AddName(ByVal name As Item)
    Try
        listCollection.Add(name, name.Name)
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub

EditItem.code visual basic:

Private Sub EditItem_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    ' Set the fields to the values of the currently selected ListCollection item.
    txtName.Text = ListCollection.listCollection(g_selectedItem).Name.Get ' THIS LINE HAS THE ERROR!

J'ai essayé de déclarer une String variables et affectation de la Item bien, et j'ai également essayé le saisissant directement la valeur de la List élément (et non à l'aide de la Get fonction), et aucune de ces fait une différence.

Comment puis-je résoudre ce problème?

InformationsquelleAutor Todd Bauer | 2011-11-27