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 :

initialiser une classe de type []


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Avril 2010
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 139
    Par défaut initialiser une classe de type []
    Bonjour,

    a l'interieur d'une classe : OrderDetails j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class OrderDetails
        {
            private int _orderdetailid;
            private int _orderid;
            private int _productid;
            private Product[] _products;
            private int _quantity;
    
            public OrderDetails()
            {
                _products = new Product;
            }
    as product

    la question : comment initialiser la classe product car il y'a product[] et pas seulement product ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Par défaut
    Bonjour,
    Il s'agit bien d'un tableau de produits et donc il faut prévoir la taille de ton tableau :
    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    products = new Product [10];

  3. #3
    Membre très actif
    Inscrit en
    Avril 2010
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 139
    Par défaut
    merci, je t'explique exactement le probleme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for ( int i = 0 ; i < paypalinformation.Order.OrderDetails.Products.Length ; i++ )
                {
                    items = new PaymentDetailsItemType();
                    items.Amount = new BasicAmountType();
                    items.Amount.Value = paypalinformation.Order.OrderDetails.Products[i].Price.ToString();
                    items.Amount.currencyID = CurrencyCodeType.EUR;
                    items.Quantity = paypalinformation.Order.OrderDetails.Products[i].Quantity.ToString();
                    items.Name = paypalinformation.Order.OrderDetails.Products[i].Name;
                    items.Number = paypalinformation.Order.OrderDetails.Products[i].ProductID.ToString();
                    itemArray.SetValue( items , i );
                }
    cette boucle for est pour toutes les elements dans shoppingcart, l'erreur affiché est :

    Object reference not set to an instance of an object.

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Par défaut
    C'est normal, dans ton constructeur tu n'a pas declaré _products comme tableau. Regardes ce que j'ai écrit dans mon message ci-dessus.

    Merci

  5. #5
    Membre très actif
    Inscrit en
    Avril 2010
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 139
    Par défaut
    toujours la meme erreur :

    Object reference not set to an instance of an object

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Par défaut
    je ne comprens pas trop ton problème essaye de mettre un point d'arrêt sur ton code et le débugguer.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut
    Citation Envoyé par mimosa803 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    products = new Product [0];
    Dans ton cas, je supposerai que si tu n'as aucun produit, tu dois instancier un tableau de produits de longueure 0... Si tu crées un tableau Product[10], ton algo va essayer d'accéder à des objets non instanciés...
    Sinon +1 pour l'utilisation d'une liste... Sinon tu dois créer un nouveau tableau à chaque fois que tu ajoutes un produit, avec les anciens produits + le nouveau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<Product> _Products=new List<Product>();

Discussions similaires

  1. initialiser une tache content type
    Par samworkflow dans le forum SharePoint
    Réponses: 0
    Dernier message: 02/06/2009, 11h22
  2. Attribut d'une classe du type d'une autre classe
    Par Ragnarok666 dans le forum Débuter
    Réponses: 12
    Dernier message: 14/04/2009, 17h43
  3. Réponses: 1
    Dernier message: 11/04/2007, 12h16
  4. Réponses: 3
    Dernier message: 06/01/2007, 14h46
  5. initialiser une variable de type long
    Par obydissonn dans le forum Langage
    Réponses: 2
    Dernier message: 30/05/2006, 17h35

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