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 :

[C#] Smart field d'un tableau


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 9
    Par défaut [C#] Smart field d'un tableau
    Bonjour,

    j'aimerais savoir comment je peux définir un 'smart field' sur un tableau d'objets.

    J'ai déclaré ce tableau, après dans le constructeur de la classe j'ai créé et j'ai rempli mon tableau, puis j'ai défini un smart field comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         public int TabA
         {
            get { return this.a; }
         }
    mais évidemment lors de la compilation j'ai eu l'erreur CS0201 (Only assignment, call, increment, decrement, and new object expressions can be used as a statement).

    J'ai essayé de changé l'entête du smart field par un , mais ça n'a rien apporté.

    Quelqu'un pourrait me dire comment faire et d'où vient l'erreur?

    Merci bcp d'avance et bonne journée à tous.

    JCBA

  2. #2
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut Re: [C#] Smart field d'un tableau
    Je viens de tester ceci et celà fonctionne parfaitement
    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
     
    public class truc
    {
      public truc
      {
         this.a = new int[4];
         for(int i=0; i < 4; i++)
          {this.a[i] = i;}
      }
      public int[] TabA
      {
        get { return this.a; }
      }
      private int[] a;
    }
    test dans un projet console
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    truc t = new truc();
    foreach(int i in t.TabA)
    { Console.WriteLine(i.ToString());}
    Console.Read();
    Resultat
    0
    1
    2
    3

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 9
    Par défaut
    Oups, la fatigue... ... le tableau est composé d'bjets System.Drawing.Imaging.ImageFormat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    System.Drawing.Imaging.ImageFormat[] l_Frmts; //déclaration
    ...
    this.l_Frmts = new ImageFormat[]{ImageFormat.Bmp, ImageFormat.Png};//inialisation du tableau
    ...
    public ImageFormat[] SupportedFormats //le smart field
    {
      get {  this.l_Frmts; }
    }
    Tu voudrais pas essayer avec ce type d'objets neguib? Moi j'arrive toujours pas

    Merci d'avance pour l'aide

  4. #4
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut Re: [C#] Smart field d'un tableau
    idem çà fonctionne toujours parfaitement
    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
     
    using System;
    using System.Drawing.Imaging;
    //...
    public class myFormats
    {
       public myFormats()
       {
          this.formats = new ImageFormat[]{ImageFormat.Bmp, ImageFormat.Gif, ImageFormat.Jpeg};
       }
       public ImageFormat[] ImageFormatArray
       {
         get { return this.formats; }
       }
       private ImageFormat[] formats;
    }
    test dans un projet console
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    myFormats f = new myFormats();
    ImageFormat imageF;
    foreach (int imageF in f.ImageFormatArray)
     { Console.WriteLine(imageF.ToString()); }
    Console.Read();
    Resultat
    Bmp
    Gif
    Jpeg

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 9
    Par défaut
    la honte j'ai oublié de mettre l'opérateur "return" dans le corps du smart fiel...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    get { !!!!!RETURN!!!!!  this.l_Frmts; }  //la bonne façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    get { this.l_Frmts; }  //la façon 'seulement 2 heures de sommeil'  :S
    merci pour me le mettre en évidence neguib

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/02/2014, 08h49
  2. passer des valeur d'un field à un tableau js
    Par gforce dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 28/03/2007, 10h21
  3. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21
  4. transmision de tableau en parametre
    Par Horus dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2002, 11h15
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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