Avoir un objet grace à un string en c#

Fermé
glob04d - 24 juin 2010 à 14:45
Krysstof Messages postés 1483 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 23 août 2010 - 24 juin 2010 à 15:20
Bonjour à tous,

j'ai une question bete je crois, j'aimerais créer une sorte de liste ( ou de tableau), qui me lit un objet grace a une clé (un string)

Par exemple;

sortelist ( string ma cle, objet monobjet).

initialisation :
sortelist ("jpg", System.Drawing.Imaging.ImageFormat.jpeg)
sortelist ("gif", System.Drawing.Imaging.ImageFormat.gif)
sortelist ("png", System.Drawing.Imaging.ImageFormat.png)



et comme résultat, j'aimerais avoir :

sortelist("jpg") me retourne l'objet System.Drawing.Imaging.ImageFormat.jpeg

Je vous remercie

5 réponses

Krysstof Messages postés 1483 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 23 août 2010 294
24 juin 2010 à 14:49
juste pour confirmation,
System.Drawing.Imaging.ImageFormat.png est un type
"System.Drawing.Imaging.ImageFormat.png" est une chaine de caractère.

quand tu dit "sortelist("jpg") me retourne l'objet System.Drawing.Imaging.ImageFormat.jpeg
"


tu veux quoi exactement en retour, le nom du type, une chaine de caractère représentant le nom du type, ou un objet vide de ce type?
0
je veux qui me retourne le type, et non une chaine de caractere
0
en fait c'est pour mettre dans cette fonction la :

string cheminphoto = "C:\\...."

myBitmapResize.Save(cheminphoto, sortelist("jpg")).


Vu que save me demande:
(string string, System.Drawing.Imaging.ImageFormat format)
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
24 juin 2010 à 15:07
Salut,
utilise un hashtable...
ashtable ht = new Hashtable();
ht.Add("jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
ht.Add("gif", System.Drawing.Imaging.ImageFormat.Gif);
ht.Add("png", System.Drawing.Imaging.ImageFormat.Png);
ImageFormat t=(ImageFormat)ht["jpg"];
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Krysstof Messages postés 1483 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 23 août 2010 294
24 juin 2010 à 15:20
Si tu utilse un dictionnaire, tu n'a pas besoin de "typer" ton résultat contrairement a une hashtable

System.Collections.Generic.Dictionary<string, System.Drawing.Imaging.ImageFormat> listetype =
new System.Collections.Generic.Dictionary<string, System.Drawing.Imaging.ImageFormat>();

listetype.Add("jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
listetype.Add("gif", System.Drawing.Imaging.ImageFormat.Gif);
listetype.Add("png", System.Drawing.Imaging.ImageFormat.Png);


myBitmapResize.Save(cheminphoto, listetype["jpg"]);
0