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

C# Discussion :

Eviter le cast d'un accesseur


Sujet :

C#

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 109
    Par défaut Eviter le cast d'un accesseur
    Bonjour,

    mon problème est simple mais je ne vois pas la solution :

    J'ai une propriété "ID_ASSISTANT" qui lorsqu'elle me fait un return dans son accesseur, me cast une variable _assistant en Int32. Ce n'est pas mon code je ne peux pas modifier ça. (ID_ASSISTANT est de type Object).

    Le truc c'est que des fois, cette variable _assistant prend la valeur DBNull.Value...

    Et le problème est que dès qu'elle prend cette valeur, et que j'utilise la propriété pour y accéder, il n'arrive pas à convertir DbNull en Int32 (logique).

    Comment pourrais-je faire ? A moins d'intercepter ça dans une exception, j'ai pas d'autres idées...

  2. #2
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Bonjour, je t'avoues que là c'est assez flou

    Mais oui en gérant l'exception je suppose que ça fonctionnerais mais je pense qu'un bout de code, de l'accesseur serait grandement utile

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Sinon, ecapsule ton objet dans un nouvel objet et surcharge l'appel à la propriété.

  4. #4
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Aussi oui je n'y avait pas pensé

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 109
    Par défaut
    Finalement j'ai modifié l'accesseur...

    Mais la solution m'intéresse quand même (j'ai rien compris).

    Tu aurais un exemple ?

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    if variable is system.dbnull.value

    sinon depuis vs2008 il existe les types nullables donc tu pourrais retourner null si ca vaut dbnull.Value
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Eviter un cast
    Par ayjdev dans le forum Langage
    Réponses: 5
    Dernier message: 12/03/2011, 12h26
  2. Eviter les class cast ?
    Par sbrisard dans le forum Langage
    Réponses: 5
    Dernier message: 22/04/2008, 16h47
  3. eviter un warning sur un cast
    Par r0d dans le forum C++
    Réponses: 19
    Dernier message: 14/06/2007, 11h53
  4. Pb affichage avec un PaintBox (pour eviter scintillement)
    Par juan64 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/04/2004, 09h21
  5. Eviter deux nombres identiques dans un tirage aléatoire
    Par moon tiger dans le forum Pascal
    Réponses: 5
    Dernier message: 25/11/2002, 09h57

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