Ich habe eine allgemeine Liste von benutzerdefinierten Objekten und möchte diese Liste auf Objekte reduzieren, bei denen ein bestimmter Eigenschaftswert nicht in einer Liste von Ausnahmen enthalten ist.
Ich habe Folgendes versucht:
Private Sub LoadAddIns()
// Get add-in templates
Dim addIns = GetTemplates(TemplateTypes.AddIn)
// Get the current document
Dim sectionId As String = CStr(Request.QueryString("sectionId"))
Dim docId As Integer = CInt(Split(sectionId, ":")(0))
Dim manual = GetTempManual(docId)
Dim content As XElement = manual.ManualContent
// Find which templates have been used to create this document.
Dim usedTemplates = (From t In content.<header>.<templates>.<template> _
Select CInt(t.<id>.Value)).ToList
// Exclude add-ins that have already been used.
If usedTemplates IsNot Nothing Then
addIns = addIns.Where(Function(a) usedTemplates.Contains(a.TemplateID) = False)
End If
// Bind available add-ins to dropdown
With ddlAddIns
.DataSource = addIns
.DataTextField = "Title"
.DataValueField = "TemplateID"
.DataBind()
.Items.Insert(0, New ListItem("[select an add-in]", 0))
End With
End Sub
erhalten aber die Fehlermeldung:
System.InvalidCastException: Objekt vom Typ "Ungültig" kann nicht gecastet werden 'WhereListIterator
1[MyApp.Classes.Data.Entities.Template]' to type 'System.Collections.Generic.List
1[MyApp.Classes.Data.Entities.Template]'.
Wie kann ich nur die Vorlagen auswählen, bei denen die Vorlagen-ID nicht in der Liste der Ausnahmen enthalten ist?