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 :

"custumiser" un objet "DataRow"


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 200
    Points : 89
    Points
    89
    Par défaut "custumiser" un objet "DataRow"
    Bonjour,

    Est-il possible de créer un objet qui hérite du type "DataRaw", afin de rajouter des méthodes ?

    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
        public class DataRow_custom : System.Data.DataRow
        {
            //public DataRow_custom()//System.Data.DataRowBuilder monDataRowBuilder
            //{
            //    this = new System.Data.DataRow(monDataRowBuilder);
            //}
     
     
     
            public ulong Extrait_Signal(int iPos, int iLong, bool bTrueMotor_FalseIntel)
            {
                ulong ulRetour;
     
                ulRetour = 0x00UL;
                ulRetour = (ulong)(this.Field<byte>(12));
                return ulRetour;
            }
        }
    La partie commentée (constructeur de l'objet "cutumisé") pose problème.

    Merci

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Il me semble qu'on peut :
    1 : définir une classe CustomDataTable héritant de DataTable et overider sa fonction NewRowFromBuilder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    protected override DataRow NewRowFromBuilder(DataRowBuilder builder)
    {
      return new CustomDataRow(builder);
    }
    2 : utiliser la fonction NewRow de CustomDataTable pour créér une CustomDataRow :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CustomDataRow myCustomDataRow = myCustomDataTable.NewRow() ;
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    +1 pour la réponse de Graffito

    De plus, ton constructeur de DataRow_custom doit appeler le constructeur de la classe de base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            public DataRow_custom(DataRowBuilder builder)
                : base(builder)
            {
                ...
            }

    Soit dit en passant, tu ne peux pas affecter une valeur à this, c'est en lecture seule (sauf dans un struct)

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