IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Problème avec List.Find


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 736
    Par défaut Problème avec List.Find
    Bonjour,

    Je dois être fatigué, je ne trouve pas ma boulette.
    Elle doit être grosse comme le nez au milieu de la figure pour que je ne trouve pas ce qui cloche.
    Impossible de valider un simple Find sur une liste d'objets.
    Voici le code (réduit à l'essentiel) et l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    ' Classe définissant les champs autorisés
    Public Class Champ_Autori
     
        Private _TblName As String
        Private _FldName As String
        Private _Visible As Boolean
        Private _CanUpdate As Boolean
     
        ' Nom de la table
        Public Property TblName As String
            Get
                Return _TblName
            End Get
            Set(ByVal value As String)
                _TblName = value
            End Set
        End Property
     
        ' Nom du champ dans la table
        Public Property FldName As String
            Get
                Return _FldName
            End Get
            Set(ByVal value As String)
                _FldName = value
            End Set
        End Property
     
        ' Le champ peut-il être affiché ?
        Public Property Visible As Boolean
            Get
                Return _Visible
            End Get
            Set(ByVal value As Boolean)
                _Visible = value
            End Set
        End Property
     
        ' Le champ peut-il être mis à jour ?
        Public Property CanUpdate As Boolean
            Get
                Return _CanUpdate
            End Get
            Set(ByVal value As Boolean)
                _CanUpdate = value
            End Set
        End Property
     
        ' Récupération d'un poste champ autorisé dans la liste
        Public Function get_Champ_Autori(tbl As String, fld As String) As Champ_Autori
     
            ' trouve le couple Table / Champ dans la liste
            Dim found_Value As Champ_Autori = champs_Autorisations.Find(Function(c) c.TblName = tbl And c.FldName = fld)
            Return found_Value
     
        End Function
     
    End Class
    Et au global j'ai la définition de la liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public champs_Autorisations() As List(Of Champ_Autori)
    L'erreur affichée sur le find est :
    Argument non spécifié pour le paramètre 'match' de 'Public Shared Overloads Function Find(Of T)(array as T(), match as predicate(Of T)) as T'

    Quelqu'un pourrait m'ouvrir les yeux en cette fin de semaine ?

  2. #2
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2023
    Messages : 4
    Par défaut
    Bonjour,

    Je ne sais pas si à tête reposée tu as trouvé la solution, mais en effet l'erreur provient bien de ta fonction de prédicat dans ton Find.
    Ta fonction est censée retourner un booléen qui test si ton TblName et ton FldName correspondent au tbl et fld que tu passes.

    Il te manque juste à mettre Return dans ta fonction (certainement un oublie de fatigue de fin de semaine )

  3. #3
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 736
    Par défaut
    Merci , mais l'erreur était ailleurs.

    Aujourd'hui je suis réveillé, et la boulette était bien évidemment énorme, et je ne l'avais pas vue.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public champs_Autorisations As List(Of Champ_Autori)
    Et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public champs_Autorisations() As List(Of Champ_Autori)

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2023
    Messages : 4
    Par défaut
    Ah oui en effet et moi je ne suis pas bien réveillé le Return ne sert à rien dans une expression abrégé comme la tienne...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [List<>] Problème avec le Find()
    Par Titi41 dans le forum SL & STL
    Réponses: 5
    Dernier message: 16/05/2009, 16h39
  2. Problème avec listes déroulantes
    Par dl_jarod dans le forum Langage
    Réponses: 9
    Dernier message: 07/06/2006, 10h13
  3. Réponses: 20
    Dernier message: 22/03/2006, 14h00
  4. Problème avec liste déroulante
    Par Invité dans le forum IHM
    Réponses: 2
    Dernier message: 14/12/2005, 21h04
  5. Problème avec listes liées entre elles et bouton "précé
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/08/2005, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo