Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
991 connectés 

 



 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  58  59  60  61  62  63
Auteur Sujet :

[Topic unique] .Net @ Prog

n°2328284
Nitescent
Posté le 28-01-2019 à 00:51:40  profilanswer
 

Reprise du message précédent :
Ça marche  [:wark0]  [:wark0]  [:wark0]

 

merci  [:sei7h:1]  [:sei7h:1]  [:sei7h:1]

 

Heureusement qu'il y avait la ligne de code parce que je n'ai rien compris à la première phrase en effet :o

 


Après quelques galères d'écriture de fichier, de droit pour écrire sur le raspberry, puis de lecture dans python, tout fonctionne enfin  :D

 

Malheureusement il y a trop de vent pour tester sur le ciel cette nuit, mais dès que ça se calme j'essaye :)


Message édité par Nitescent le 28-01-2019 à 00:52:20
mood
Publicité
Posté le 28-01-2019 à 00:51:40  profilanswer
 

n°2328291
TotalRecal​l
Posté le 28-01-2019 à 11:15:23  profilanswer
 
n°2328292
ov3rflow
Overrage
Posté le 28-01-2019 à 11:46:31  profilanswer
 


 
 :jap:


---------------
GO XSARA
n°2328294
ov3rflow
Overrage
Posté le 28-01-2019 à 15:08:41  profilanswer
 

:hello:  
 
Vous pensez que ça vaut le coup en 2019 de se former sur Xamarin ? ou c'est fini faut faire du react native ? :o


---------------
GO XSARA
n°2328295
DiB91
Bwaaaaaaah
Posté le 28-01-2019 à 15:31:18  profilanswer
 

Bonne question tiens :)
Ca m'intéresse aussi :)

n°2328296
Yor_le_Bou​rrin
Posté le 28-01-2019 à 16:53:05  profilanswer
 

De ce que je vois sur linkedin les opportunités (freelance & co) sont très rares, mais les profils également, donc ça compense.
 
Après perso j'aurais tendance à penser qu'au vu du peu d'actualités sur Xamarin de la part de MS, Xamarin est mort. MS semble s'orienter vers react native (sans redface, ils ont même ajouté react-native-windows) et tout ce qui tourne vers Azure. Je ne serais d'ailleurs pas étonné qu'ils aient racheté Xamarin juste pour leur partie cloud / device farm et rester dans la course face à AWS Device Farm et Firebase Test Lab.
 
Si tu veux parier, tu peux essayer Blazor par contre, ils ont l'air d'avoir mis les moyens dessus. Mais la voie la plus pragmatique est sans doute React Native.

n°2328297
ov3rflow
Overrage
Posté le 28-01-2019 à 17:40:34  profilanswer
 

Blazor je suis quasi depuis le debut et je suis un fan absolu :o   Mais c'est pour faire du web et peut être PWA :??  Mais tant  que c'est en expérimental pas la peine de miser dessus
 
Ce qui est relou c'est que MS se tourne vraiment vers le dev JS /TS et ça c'est moche.


---------------
GO XSARA
n°2328318
OrcusZ
Pro AMD | .Net lover
Posté le 29-01-2019 à 15:10:21  profilanswer
 

ov3rflow a écrit :

:hello:  
 
Vous pensez que ça vaut le coup en 2019 de se former sur Xamarin ? ou c'est fini faut faire du react native ? :o


 
Je pense que ça peux valoir le coup si tu connais déjà les technologies qui gravitent autour (Comme WPF, MVVM, Android et IOS), car la courbe d'apprentissage sera courte..
Par contre, c'est vrai que tu retrouves peu d'offre sur cette technologie.
 
Personnellement je ne fait que du mobile avec Xamarin, et je trouve ça beaucoup plus agréable qu'avec des technos Web.
 
Après je ne suis pas totalement d'accords avec @Yor_Le_Bourrin au vu des actualités sur Xamarin, mais peut-être car je suis un utilisateur averti de la technologie...
 
Pour React-Native, tu auras l'avantage de technologie vachement à la mode, mais si tu ne connais pas ces technologies tu aura peut-être une courbe d'apprentissage plus longue, surtout pour assimiler les bonnes pratiques de dev.


---------------
Made you your own sentence without believing that of the others...
n°2328359
ov3rflow
Overrage
Posté le 30-01-2019 à 08:46:31  profilanswer
 

Un de mes collègues qui a tâté les deux me disait que la communauté était pas très grande sur xamarin et plus compliqué de trouver de l’aide en cas de problème


---------------
GO XSARA
n°2328363
OrcusZ
Pro AMD | .Net lover
Posté le 30-01-2019 à 09:53:45  profilanswer
 

ov3rflow a écrit :

Un de mes collègues qui a tâté les deux me disait que la communauté était pas très grande sur xamarin et plus compliqué de trouver de l’aide en cas de problème


 
Je n'ai jamais eu de gros problème même avec des demandes complexes. Par contre parfois il faut plutôt chercher dans les réponses Android ou IOS et adapter pour Xamarin.
 
Exemple d'une réponse que j'ai eu pour une question Xamarin Forms spécifique IOS :  
 
https://stackoverflow.com/questions [...] amarin-ios
 
Après j'ai également fait du React Web et trouver une réponse c'est très rapide.  
 
Après pour moi, faire du Xamarin / Xamarin Forms va demander un background technique plus important sur Android et/ou IOS pour s'en sortir que React, ou la une bonne connaissance du Web permet de faire des applications pas dégeux très rapidement.


---------------
Made you your own sentence without believing that of the others...
mood
Publicité
Posté le 30-01-2019 à 09:53:45  profilanswer
 

n°2328440
ov3rflow
Overrage
Posté le 31-01-2019 à 11:53:37  profilanswer
 

:jap:  
 
 
Autres sujet,  .net Core 3 embarque winforms et WPF, mais du coup ça marche que sur windows.  
 
 
Vu le nombre croissant de gens que je vois avec des Mac en entreprise, je pense qu'il falloir se mettre à Electron pour les applis lourdes  :(


---------------
GO XSARA
n°2328441
OrcusZ
Pro AMD | .Net lover
Posté le 31-01-2019 à 12:01:33  profilanswer
 

ov3rflow a écrit :

:jap:

 


Autres sujet,  .net Core 3 embarque winforms et WPF, mais du coup ça marche que sur windows.

 


Vu le nombre croissant de gens que je vois avec des Mac en entreprise, je pense qu'il falloir se mettre à Electron pour les applis lourdes  :(

 

Ba non, Xamarin Mac  :ange:


Message édité par OrcusZ le 31-01-2019 à 12:01:48

---------------
Made you your own sentence without believing that of the others...
n°2328442
ov3rflow
Overrage
Posté le 31-01-2019 à 12:37:59  profilanswer
 

Mais du coup on est obligé de faire 2 devs ? un par plateforme ?
 
Enfin bon même je suppose qu'on mutualise le code métier et autre avec .NET Standard

Message cité 1 fois
Message édité par ov3rflow le 31-01-2019 à 12:38:32

---------------
GO XSARA
n°2328448
OrcusZ
Pro AMD | .Net lover
Posté le 31-01-2019 à 13:53:58  profilanswer
 

ov3rflow a écrit :

Mais du coup on est obligé de faire 2 devs ? un par plateforme ?
 
Enfin bon même je suppose qu'on mutualise le code métier et autre avec .NET Standard


 
C'est la ou réside la force de toutes la suite Xamarin.
 
La partie métier est effectivement mutualiser dans un projet type PCL en Net Standard dans tous les cas
 
Puis tu peux :  
- Faire la partie UI en natif, est donc la tu as l'avantage d'avoir accès à toutes les API natives (Android, IOS, MAC...) mais bon faut être capable de jongler avec les trois ou avoir plusieurs développer spécialiser
- Faire la partie UI avec Forms, est la tu es sur une base XAML avec tous ce dont tu as besoin pour faire des interfaces totalement corrects. Si tu veux faire du spécifique tu peux avec des contrôles personnalisée.  
 
Par contre Xamarin.Forms Mac est en preview encore :  
 
https://blog.xamarin.com/preview-br [...] rin-forms/
 


---------------
Made you your own sentence without believing that of the others...
n°2328790
Nitescent
Posté le 05-02-2019 à 20:09:03  profilanswer
 


Voici le premier test :
http://romainlucchesi.com/allsky/v [...] 190204.mp4
 
Je peux suivre la position du télescope en direct sur le ciel, et à la fin ça fait un timelapse sympa  :love:  :love:  
 
Ça commence à bouger vers 15s

n°2328937
ov3rflow
Overrage
Posté le 09-02-2019 à 12:12:59  profilanswer
 


 
Les étudiants ont bien aimé l'exercice du Diamant. Moi aussi  :o  
 
Faudrait que trouve d'autres exercises amusant dans le genre


---------------
GO XSARA
n°2332072
DiB91
Bwaaaaaaah
Posté le 18-04-2019 à 15:48:00  profilanswer
 

Les gars, j'ai une question vraiment débile, mais franchement ça me rend fou depuis quelques mois...

 

Je bosse actuellement sur une appli web dans Visual Studio 2017 que je débugge sous Google Chrome (devTools) qui est le navigateur corpo ici.

 

Depuis quelques mois, l'écran F12 me rend complètement fou à switcher sans arrêt sur l'onglet "Sources" dès que le moindre script est sollicité.
Evidemment, dans mon appli en carton, il y a des appels réguliers automatiques (stimulus pour checker l'absence de l'utilisateur), et donc ça rend le débogage franchement très énervant.

 

Exemple : je débugge une page où je fais un appel Ajax vers un autre contrôleur ($.ajax).
Ca plante, j'ouvre F12 pour checker dans "Network" mon code retour HTTP et le contenu de la réponse serveur.
BIM impossible car l'onglet "Sources" s'ouvre.... :fou:

 

Vous savez comment :
- empêcher Google Chrome de déboguer les scripts (même de manière permanente, je m'en fous) ?
OU
- désactiver cet onglet de manière définitive ?

 

Merci d'avance :)


Message édité par DiB91 le 18-04-2019 à 15:49:08
n°2332075
MaybeEijOr​Not
but someone at least
Posté le 18-04-2019 à 15:58:54  profilanswer
 

En installant Firefox. [:mirtouf]


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2332076
DiB91
Bwaaaaaaah
Posté le 18-04-2019 à 16:03:19  profilanswer
 

Je me doutais :D
Je pense que ça finira comme ça oui.

 

Historiquement, j'ai toujours privilégié Internet Explorer pour mes développements web parce que c'était le seul à l'époque qui prenait en charge le débogage de scripts dans Visual Studio... et puis à cette époque "si ça marche sous IE, ça marchera sur les autres".

 

Mais j'ai rien contre un peu de changement, bien au contraire... c'est juste que Chrome étant le navigateur imposé par la boite, si jamais une boulette passe parce que ça marche sous FF/IE mais pas Chrome, je vais avoir de gros problèmes :D

 

EDIT : D'ailleurs, au passage, Chrome permet depuis quelques années le débogage de scripts dans VS, alors BORDEL POURQUOI persiste-t'il a vouloir le faire dans ses devTools en plus :fou: :fou:


Message édité par DiB91 le 18-04-2019 à 16:04:35
n°2332080
varfendel
MiKaKa
Posté le 18-04-2019 à 16:45:46  profilanswer
 

T'as bien tous tes listners / breakpoints désactivés ?
 
https://reho.st/thumb/self/c4badbc902da3e31e86babbb945132bd819e8854.png

n°2332081
DiB91
Bwaaaaaaah
Posté le 18-04-2019 à 16:51:29  profilanswer
 

Oui :'(
 
https://i.imgur.com/PwPzzJj.png

n°2332083
varfendel
MiKaKa
Posté le 18-04-2019 à 17:01:00  profilanswer
 

En tout cas j'ai pas ton comportement chez moi donc y a de l'espoir... :D
 
Côté VS j'ai désactivé plusieurs trucs aussi :
 
https://reho.st/thumb/self/7b6115381be4b661224cde8fda30928bb61c71d2.png

n°2332085
DiB91
Bwaaaaaaah
Posté le 18-04-2019 à 17:42:51  profilanswer
 

Top, merci bien je vais regarder de ce côté là :jap:

n°2332157
gooopil
pfiew
Posté le 21-04-2019 à 04:47:11  profilanswer
 

Hey,  
 
Quelqu'un a une suggestion d'installer pour déployer du VSTO avec autoupdate, qui ne soit pas ClickOnce ? Problème de certificat dès que je sors du domaine de ma boite :/
 
Merci :)

n°2333713
DiB91
Bwaaaaaaah
Posté le 20-05-2019 à 10:09:19  profilanswer
 

Hello par ici, nouvelle petite question :D
 
J'aimerai écrire un petit bout de code à faire tourner périodiquement sur mon PC "serveur domestique" à la maison, qui scruterait si Windows attend un redémarrage (après l'installation d'une MAJ, par exemple), et m'en notifierai par mail / sms / push...
 
L'ennui c'est que je ne suis pas encore super familier avec les API dédiées (WUAPILib ?).
Avant de tenter de transposer cette solution en C# (ou de l'écrire en C++, pourquoi pas), si vous avez déjà un truc tout prêt, je prends :jap:
 
L'idée c'est que je sois prévenu suffisamment longtemps avant que Windows ne redémarre tout seul, pour pouvoir prévenir mes utilisateurs connectés à la machine...

n°2337065
TotalRecal​l
Posté le 22-07-2019 à 20:57:47  profilanswer
 

Aucun post en 2 mois... Allez, avouez, tout le monde est passé à Java ?


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2337066
MaybeEijOr​Not
but someone at least
Posté le 22-07-2019 à 21:03:43  profilanswer
 

TotalRecall a écrit :

Aucun post en 2 mois... Allez, avouez, tout le monde est passé à Java ?


Oui, c'est une très belle destination pour les vacances : https://www.google.com/maps/place/J [...] 10.7122465
Bon après 2 mois ça commence à faire long.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2337067
ixemul
Nan mais sans blague ! ⚡
Posté le 22-07-2019 à 21:06:25  profilanswer
 

TotalRecall a écrit :

Aucun post en 2 mois... Allez, avouez, tout le monde est passé à Java ?


Bah non, au contraire, ça marche tellement bien et c'est tellement clair que ça se passe de posts inutiles :o


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2337070
TotalRecal​l
Posté le 22-07-2019 à 21:24:27  profilanswer
 

MaybeEijOrNot a écrit :


Oui, c'est une très belle destination pour les vacances : https://www.google.com/maps/place/J [...] 10.7122465
Bon après 2 mois ça commence à faire long.


Vu les commentaires dans les avis google le langage a l'air plus compliqué que le C# :fouyaya:


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2337071
TotalRecal​l
Posté le 22-07-2019 à 21:24:46  profilanswer
 

ixemul a écrit :


Bah non, au contraire, ça marche tellement bien et c'est tellement clair que ça se passe de posts inutiles :o


On ne doit pas bosser sur les même trucs [:mur]


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2337177
ov3rflow
Overrage
Posté le 24-07-2019 à 18:30:53  profilanswer
 

ixemul a écrit :


Bah non, au contraire, ça marche tellement bien et c'est tellement clair que ça se passe de posts inutiles :o


 
+1
 


---------------
GO XSARA
n°2339164
gatsu35
Posté le 17-09-2019 à 09:33:47  profilanswer
 

Yo mes gens,  
 
Je voudrais remplacer ce genre de chose :  
 

Code :
  1. private static EEtat DefineStatutSignature(WsDashboardCollectes.esignEventStatusType statutBde)
  2.         {
  3.             switch (statutBde)
  4.             {
  5.                 case WsDashboardCollectes.esignEventStatusType.ASIGNER:
  6.                     return EEtat.EnCours;
  7.                 case WsDashboardCollectes.esignEventStatusType.SIGNE:
  8.                     return EEtat.Signe;
  9.                 [...]
  10.                 case WsDashboardCollectes.esignEventStatusType.PURGE:
  11.                     return EEtat.Purge;
  12.                 default:
  13.                     return EEtat.Default;
  14.             }
  15.         }


 
Par une classe ou un dictionnaire statique (enfin un truc simple) et une fonction, alors j'ai  imaginé ça :  
 

Code :
  1. private static Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat> EEtatEsignEventStatusTypeMapping;
  2. private static void Init_EEtatEsignEventStatusTypeMapping()
  3. {
  4. BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping = new Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat>()
  5.     {
  6.         { WsDashboardCollectes.esignEventStatusType.ASIGNER, EEtat.EnCours },
  7.         { WsDashboardCollectes.esignEventStatusType.SIGNE, EEtat.Signe },
  8. [...]
  9.         { WsDashboardCollectes.esignEventStatusType.RELANCE, EEtat.Relance }
  10.     };
  11. }
  12. private static EEtat DefineStatutSignatureRewrite(WsDetailCollecte.esignEventStatusType statutBde)
  13. {
  14.     if (BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping.TryGetValue(statutBde))
  15.          return BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping[statutBde];
  16.     return EEtat.Default; 
  17. }


 
Pour moi c'est merdique car je dois initialiser le dictionnaire une fois, ptet dans un constructeur ou autre.
Je voudrais quelque chose de plus sexy.
 
En JS j'aurai fait ça en 3 lignes et torché le truc.
 
Si vous avez des solutions sexy je prends immédiatement.

n°2339174
ixemul
Nan mais sans blague ! ⚡
Posté le 17-09-2019 à 10:34:12  profilanswer
 

gatsu35 a écrit :

Yo mes gens,  
 
Je voudrais remplacer ce genre de chose :  
 

Code :
  1. private static EEtat DefineStatutSignature(WsDashboardCollectes.esignEventStatusType statutBde)
  2.         {
  3.             switch (statutBde)
  4.             {
  5.                 case WsDashboardCollectes.esignEventStatusType.ASIGNER:
  6.                     return EEtat.EnCours;
  7.                 case WsDashboardCollectes.esignEventStatusType.SIGNE:
  8.                     return EEtat.Signe;
  9.                 [...]
  10.                 case WsDashboardCollectes.esignEventStatusType.PURGE:
  11.                     return EEtat.Purge;
  12.                 default:
  13.                     return EEtat.Default;
  14.             }
  15.         }


 
Par une classe ou un dictionnaire statique (enfin un truc simple) et une fonction, alors j'ai  imaginé ça :  
 

Code :
  1. private static Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat> EEtatEsignEventStatusTypeMapping;
  2. private static void Init_EEtatEsignEventStatusTypeMapping()
  3. {
  4. BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping = new Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat>()
  5.     {
  6.         { WsDashboardCollectes.esignEventStatusType.ASIGNER, EEtat.EnCours },
  7.         { WsDashboardCollectes.esignEventStatusType.SIGNE, EEtat.Signe },
  8. [...]
  9.         { WsDashboardCollectes.esignEventStatusType.RELANCE, EEtat.Relance }
  10.     };
  11. }
  12. private static EEtat DefineStatutSignatureRewrite(WsDetailCollecte.esignEventStatusType statutBde)
  13. {
  14.     if (BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping.TryGetValue(statutBde))
  15.          return BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping[statutBde];
  16.     return EEtat.Default; 
  17. }


 
Pour moi c'est merdique car je dois initialiser le dictionnaire une fois, ptet dans un constructeur ou autre.
Je voudrais quelque chose de plus sexy.
 
En JS j'aurai fait ça en 3 lignes et torché le truc.
 
Si vous avez des solutions sexy je prends immédiatement.


 
Directement à l'initialisation en lui rajoutant un petit attribut readonly c'est plus sexy ?
 

Code :
  1. private static  readonly Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat> EEtatEsignEventStatusTypeMapping  = new Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat>()
  2.     {
  3.         { WsDashboardCollectes.esignEventStatusType.ASIGNER, EEtat.EnCours },
  4.         { WsDashboardCollectes.esignEventStatusType.SIGNE, EEtat.Signe },
  5. [...]
  6.         { WsDashboardCollectes.esignEventStatusType.RELANCE, EEtat.Relance }
  7.     };
  8. }
  9. private static EEtat DefineStatutSignatureRewrite(WsDetailCollecte.esignEventStatusType statutBde)
  10. {
  11.     if (BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping.TryGetValue(statutBde))
  12.          return BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping[statutBde];
  13.     return EEtat.Default;
  14. }



---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2339176
BilupBaloo
Posté le 17-09-2019 à 11:35:28  profilanswer
 

gatsu35 a écrit :

Yo mes gens,  
 
Je voudrais remplacer ce genre de chose :  
 

Code :
  1. private static EEtat DefineStatutSignature(WsDashboardCollectes.esignEventStatusType statutBde)
  2.         {
  3.             switch (statutBde)
  4.             {
  5.                 case WsDashboardCollectes.esignEventStatusType.ASIGNER:
  6.                     return EEtat.EnCours;
  7.                 case WsDashboardCollectes.esignEventStatusType.SIGNE:
  8.                     return EEtat.Signe;
  9.                 [...]
  10.                 case WsDashboardCollectes.esignEventStatusType.PURGE:
  11.                     return EEtat.Purge;
  12.                 default:
  13.                     return EEtat.Default;
  14.             }
  15.         }


 
Par une classe ou un dictionnaire statique (enfin un truc simple) et une fonction, alors j'ai  imaginé ça :  
 

Code :
  1. private static Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat> EEtatEsignEventStatusTypeMapping;
  2. private static void Init_EEtatEsignEventStatusTypeMapping()
  3. {
  4. BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping = new Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat>()
  5.     {
  6.         { WsDashboardCollectes.esignEventStatusType.ASIGNER, EEtat.EnCours },
  7.         { WsDashboardCollectes.esignEventStatusType.SIGNE, EEtat.Signe },
  8. [...]
  9.         { WsDashboardCollectes.esignEventStatusType.RELANCE, EEtat.Relance }
  10.     };
  11. }
  12. private static EEtat DefineStatutSignatureRewrite(WsDetailCollecte.esignEventStatusType statutBde)
  13. {
  14.     if (BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping.TryGetValue(statutBde))
  15.          return BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping[statutBde];
  16.     return EEtat.Default; 
  17. }


 
Pour moi c'est merdique car je dois initialiser le dictionnaire une fois, ptet dans un constructeur ou autre.
Je voudrais quelque chose de plus sexy.
 
En JS j'aurai fait ça en 3 lignes et torché le truc.
 
Si vous avez des solutions sexy je prends immédiatement.


 
Tu peux aussi l'initialiser lors du premier appel, via une property
 
   

Code :
  1. private static Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat> _EEtatEsignEventStatusTypeMapping;
  2. private static Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat> EEtatEsignEventStatusTypeMapping
  3. {
  4.  get {
  5.   if(_EEtatEsignEventStatusTypeMapping == null)
  6.   {
  7.    _EEtatEsignEventStatusTypeMapping = new Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat>()
  8.    {
  9.     { WsDashboardCollectes.esignEventStatusType.ASIGNER, EEtat.EnCours },
  10.     { WsDashboardCollectes.esignEventStatusType.SIGNE, EEtat.Signe },
  11.     [...]
  12.     { WsDashboardCollectes.esignEventStatusType.RELANCE, EEtat.Relance }
  13.    };
  14.   }
  15.   return _EEtatEsignEventStatusTypeMapping;
  16.  }
  17. }
  18.     private static EEtat DefineStatutSignatureRewrite(WsDetailCollecte.esignEventStatusType statutBde)
  19.     {
  20.         if (BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping.TryGetValue(statutBde))
  21.              return BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping[statutBde];
  22.         return EEtat.Default;
  23.     }


n°2339178
varfendel
MiKaKa
Posté le 17-09-2019 à 12:00:57  profilanswer
 

En gros tu veux faire une correspondance entre 2 enum
 
Tu peux pas déclarer les valeurs ton enum EEtat pour qu'il ait le même ordre (et donc les mêmes valeurs en int) que celles du esignEventStatusType ?
 
Ensuite t'as plus qu'à faire un cast:

Code :
  1. public enum EEtat
  2. {
  3.   EnCours, //0
  4.   Signe, //1
  5.   Purge, //2
  6. ...
  7. }
  8. public enum esignEventStatusType
  9. {
  10.   ASIGNER, //0
  11.   SIGNE, //1
  12.   PURGE, //2
  13. ...
  14. }
  15. private static EEtat DefineStatutSignature(WsDashboardCollectes.esignEventStatusType statutBde)
  16. {
  17.   return (EEtat)(int)statutBde;
  18. }


n°2339179
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 17-09-2019 à 12:06:24  profilanswer
 

Ba même au-delà de ça, se poser la question de pourquoi faire une correspondance, spa possible de réutiliser l'enum d'entrée ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2339180
ixemul
Nan mais sans blague ! ⚡
Posté le 17-09-2019 à 12:54:08  profilanswer
 

Taiche a écrit :

Ba même au-delà de ça, se poser la question de pourquoi faire une correspondance, spa possible de réutiliser l'enum d'entrée ?


 
Rien ne garanti que ce soient des enum en entrée selon l'énoncé... et il reste le cas du "Default".


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2339182
gatsu35
Posté le 17-09-2019 à 13:32:10  profilanswer
 

varfendel a écrit :

En gros tu veux faire une correspondance entre 2 enum
 
Tu peux pas déclarer les valeurs ton enum EEtat pour qu'il ait le même ordre (et donc les mêmes valeurs en int) que celles du esignEventStatusType ?
 
Ensuite t'as plus qu'à faire un cast:

Code :
  1. public enum EEtat
  2. {
  3.   EnCours, //0
  4.   Signe, //1
  5.   Purge, //2
  6. ...
  7. }
  8. public enum esignEventStatusType
  9. {
  10.   ASIGNER, //0
  11.   SIGNE, //1
  12.   PURGE, //2
  13. ...
  14. }
  15. private static EEtat DefineStatutSignature(WsDashboardCollectes.esignEventStatusType statutBde)
  16. {
  17.   return (EEtat)(int)statutBde;
  18. }




 

Taiche a écrit :

Ba même au-delà de ça, se poser la question de pourquoi faire une correspondance, spa possible de réutiliser l'enum d'entrée ?


 

ixemul a écrit :


 
Rien ne garanti que ce soient des enum en entrée selon l'énoncé... et il reste le cas du "Default".


Je suis sur un projet avec un lourd passif et qui communique avec plusieurs SA (systèmes applicatifs) et les valeurs entre les SA sont complètement différentes. Donc non malheureusment, sinon ça serait la première chose que j'aurai faite.

n°2339183
ixemul
Nan mais sans blague ! ⚡
Posté le 17-09-2019 à 13:41:13  profilanswer
 

ixemul a écrit :


 
Directement à l'initialisation en lui rajoutant un petit attribut readonly c'est plus sexy ?
 

Code :
  1. private static  readonly Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat> EEtatEsignEventStatusTypeMapping  = new Dictionary<WsDashboardCollectes.esignEventStatusType, EEtat>()
  2.     {
  3.         { WsDashboardCollectes.esignEventStatusType.ASIGNER, EEtat.EnCours },
  4.         { WsDashboardCollectes.esignEventStatusType.SIGNE, EEtat.Signe },
  5. [...]
  6.         { WsDashboardCollectes.esignEventStatusType.RELANCE, EEtat.Relance }
  7.     };
  8. }
  9. private static EEtat DefineStatutSignatureRewrite(WsDetailCollecte.esignEventStatusType statutBde)
  10. {
  11.     if (BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping.TryGetValue(statutBde))
  12.          return BaseEvenementsResponseBaseExtensions.EEtatEsignEventStatusTypeMapping[statutBde];
  13.     return EEtat.Default;
  14. }




 
Donc je persiste ! :o


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2339188
varfendel
MiKaKa
Posté le 17-09-2019 à 15:16:44  profilanswer
 

A choisir entre la solution existante et un dico en variable statique je resterai sur le switch/case...
 
T'as pas expliqué pourquoi tu dois faire ce changement ni comment tu aurais fait avec tes 3lignes de JS ?
 
 
Tu pourrais utiliser automapper pour faire de la conversion d'objet en créant une petite classe 'converter' pour la propriété qui te pose problème.
ça donnerait un truc du genre:
 

Code :
  1. // à déclarer une seule fois, dans le constructeur par ex
  2. var config = new MapperConfiguration(cfg =>
  3. {
  4. // crée une map pour convertir de WsDashboardCollectes vers TaClass
  5. cfg.CreateMap<WsDashboardCollectes, TaClass>()
  6. .ForMember(
  7.                     dest => dest.EEtat,
  8.                     opt => opt.MapFrom(src => MonEnumConverter.Convert(src.esignEventStatusType))
  9.   );
  10. // crée une map pour convertir de TaClass vers WsDashboardCollectes
  11. cfg.CreateMap<TaClass, WsDashboardCollectes>()
  12. .ForMember(
  13.                     dest => dest.esignEventStatusType,
  14.                     opt => opt.MapFrom(src => MonEnumConverter.Convert(src.EEtat))
  15.   );
  16. });
  17. this.mapper = config.CreateMapper();
  18. // ensuite pour chaque conversion  
  19. TaClass res = this.mapper.Map<WsDashboardCollectes, TaClass>(wsDash);


 

Code :
  1. public static class MonEnumConverter
  2.     {
  3.         public static esignEventStatusType Convert(EEtat value)
  4.         {
  5.             switch/case
  6.         }
  7.         public static EEtat Convert(esignEventStatusType value)
  8.         {
  9.             switch/case
  10.         }
  11. }

n°2339189
gatsu35
Posté le 17-09-2019 à 15:32:43  profilanswer
 

Désolé si j'ai mal expliqué,
Dans le projet j'ai énormément de gros pavé de switch/case mais malheureusement étant donné que j'ai une appli qui fait passerelle entre différents SA, il y a beaucoup de mapping de valeur, et je cherchais surtout un moyen de rendre le bazar plus lisible mais il n'y en a pas forcément;

 

En JS j'aurai simplement défini aussi mes clés comme avec un dictionnary et faire comme je l'ai aussi fait en .NET pour exemple :

Code :
  1. var myMap = {
  2.   [keyId] : Keyvalue
  3.   [keyId2] : KeyValue2
  4.   "_default" : defaultValue
  5. };
  6. function myConverterOftrucMuche(key) {
  7.   return myMap.hasOwnProperty[key] ? myMap[key] : myMap[_default];
  8. }
 

Mais pas sûr que ce soit plus rapide qu'un switch/case


Message édité par gatsu35 le 17-09-2019 à 16:16:57
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  58  59  60  61  62  63

Aller à :
Ajouter une réponse
 

Sujets relatifs
service web REST en VB.NET HeySpreadRequete Access avec paramètres, éxécutée en VB .Net
impersonalisation sous ASP.NET[Topic Unique] les blagues pourries de harko et florentg
Generation d'un GIF en ASP.NETAppeler un service web .NET sécurisé en Java
Prog Visual Basic "periodicité"[Oracle] Temps d'execution de requete tres long par rapport au .NET
[VB.NET] Lister des imprimantes réseauxFusion de résultats de requêtes dans une unique Table
Plus de sujets relatifs à : [Topic unique] .Net @ Prog


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR