ASP dictionary faisabilité d'un dictionaire de dictionnaire [Résolu]

iexid 3 Messages postés dimanche 27 juin 2004Date d'inscription 17 juillet 2004 Dernière intervention - 16 juil. 2004 à 23:10 - Dernière réponse : jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention
- 10 mai 2005 à 13:02
est-il possible de réaliser en asp un dictionnaire de dictionnaire si oui comment

j'entends par dictionnaire de dictionnaire le fait qu'en item on integre un objet du type dictionnaire
(mais toutes vos experience sont les bienvenue)
par avance merci!!!!!

iexid
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 17 juil. 2004 à 14:24
3
Merci
J'ai dit une connerie au dessus : CollectionBase et DictionnaryBase, ne derive pas d'un meme objet, mais par contre, ils ont tout les deux, Ienumerable et Icollection en commun, l'un a en plus Ilist et l'autre IDictionnary

mais bon, il n'y a qd meme pas bcp de difference entre les deux
Cyril

Merci jesusonline 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 73 internautes ce mois-ci

Commenter la réponse de jesusonline
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 17 juil. 2004 à 14:19
0
Merci
Je pense que tu travailles en asp.net - vb.net

tu aurais surement eu plus de reponse, si tu aurais posé ta question sur vbfrance.com, car ici, c'est plus centré sur le coté asp.net que sur vb.net

mais pour repondre à ta question, oui il est tout à fait possible de faire ce que tu demandes, voici ce que j'ai fait :

Imports System.Collections

Public Class GrandDico
    Inherits DictionaryBase

    Public Sub Add(ByVal key As String, ByVal dico As IDictionary)
        Dictionary.Add(key, dico)
    End Sub

End Class

Public Class PetitDico
    Inherits DictionaryBase

    Public Sub Add(ByVal key As [String], ByVal value As String)
        Dictionary.Add(key, value)
    End Sub

End Class

Public Class class1

    Public Sub New()
        Dim PD As PetitDico
        Dim GD As GrandDico

        GD = New GrandDico
        For i As Integer = 1 To 10
            PD = New PetitDico
            For count As Integer = 1 To 10
                PD.Add("Key N°" & count, "Value N°" & count)
            Next
            GD.Add("PetitDico N° " & i, PD)
        Next
    End Sub

End Class


j'ai donc bien un dictionnaire qui contient des dictionnaires, mon exemple sert pas à grand chose, car il aurait été plus simple de faire ca avec des list, mais la seule diference entre une list et un dico, c'est la clé, sinon, il ont la meme base

j'espere que ce petit bout de code aura repondu à ta question

@+

Cyril
Commenter la réponse de jesusonline
cyberice67 87 Messages postés samedi 6 décembre 2003Date d'inscription 7 novembre 2016 Dernière intervention - 10 mai 2005 à 11:16
0
Merci
Hey Jesus j'te vois partout ;)



Une petite colle...

Comment on utilise (en C#) un dictionnaire ? J'essaie de créer une
fonction qui en renvoie un mais dès que je met MAFONTION() as
IDictionary ou encore MAFONCTION() as DictionaryBase bah il me
met une chouette erreur à l'execution :



Le type System.Collections.IDictionary n'est pas pris en charge, car il
implémente IDictionary.



Sympa comme message mais j'en ai d'jà vu de plus parlant...





Bon ormi c'te prob le dico c'est du news pour moi donc faire un dico de
dico moi yé veut bien mais personne ne montre comment utiliser un seul
dico (sont zentil )



Pour l'instant j'en suis à :



<WebMethod()> Public Function PersConver(ByVal PseudoPersonne As String) As IDictionary

Dim MonDico As IDictionary

Dim cmdset As New SqlClient.SqlCommand

Dim compteur As Integer



cmdset.Connection = cnn

cmdset.CommandType = CommandType.StoredProcedure

cmdset.CommandText = "PersonneConvers"

cmdset.Parameters.Add("@Personne", PseudoPersonne)

cnn.Open()



Dim Reader As SqlClient.SqlDataReader

Reader = cmdset.ExecuteReader



Reader.Read()



compteur = 0

While Reader.Read()

MonDico.Add(compteur, Reader.GetString(2))

Reader.Read()

compteur += 1

End While



Return MonDico







Si quelqu'un connaitrai aussi la syntaxe pour le lire ensuite j'suis preneur (mais bon jdevrais trouvé...)



Th'x


Cyberice
Commenter la réponse de cyberice67
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 10 mai 2005 à 11:44
0
Merci
y'a pire comme message d'erreur ;)

donc, le problème vient des services web je pense, ca doit pas etre faisable de mettre un dico à cause de SOAP, il y a plein de petites limitation malgré ce qu'on dit.

pour utiliser un dico, on fait comme ca



Dim dico
As
New System.Collections.Specialized.StringDictionary()


dico.Add(
"key as string",
"value as string")



Return dico(
"key as string")

j'ai testé le code sous VS2005 (de toute facon j'ai plus VS2003:D) mais je suis pas sur que ces classes existe en .net 1.1

c'est pas impossible qu'il faille les créer en dérivant de dictionnarybase ... je sais plus, fais une recherche au pire ;)


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Commenter la réponse de jesusonline
cyberice67 87 Messages postés samedi 6 décembre 2003Date d'inscription 7 novembre 2016 Dernière intervention - 10 mai 2005 à 12:03
0
Merci
Effectivement ca ne marche pas avec les webmethodes, t'as bien raison.
Il dit qu'c'est impossible de convertir un dico en tableau 1
dimension... SOAP => vive les mises a jour ;)

Sinon le code en lui même semble fonctionner tel que tu l'as écris.



Bon bah maintenant qu'j'ai mes ArrayList, j'vais remplacer un dico par
un banal tableau de valeur puis j'v voir si on peut transmettre une
classe, mais là dur dur :)

Hop on s'motive ^^

Cyberice
Commenter la réponse de cyberice67
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 10 mai 2005 à 13:02
0
Merci
une classe ca passe aussi, mais faut que ca soit serializable

<serializable>public class maclass
public mavar as string
end class

mais niveau ressource c'est gourmand, mais c'est ultra clair. Ce qui est sympa c'est aussi de renvoyer un fichier xml avec un schéma, c'est presque renvoyer un dataset mais en plus simple :p mais autre renvoyer une classe et un xml, niveau données transmise doit pas y avoir beaucoup de difference si ce n'est la verbosité du truc :p


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Commenter la réponse de jesusonline

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.