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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  75  76  77  78  79  80
Auteur Sujet :

[Topic unique] .Net @ Prog

n°2004659
ixemul
Nan mais sans blague ! ⚡
Posté le 25-06-2010 à 09:33:58  profilanswer
 

Reprise du message précédent :

TotalRecall a écrit :


En fait tu avais raison :p.
Si vous avez des idées de libs à partager, de débat à lancer, thème à aborder... n'hésitez pas, je crois que le topic en a bien besoin :d :bounce:
:hello:


 
Bon, histoire de me donner un coup de pied au c*l. Est-ce que ça interresserait quelqu'un un mod player (en fait un port bête et méchant de MikMod) pour silverlight et/ou NAudio ? Sachant que j'ai ça dans mes cartons depuis quelques mois et que j'arrive pas à me motiver à le releaser (genre sur codeplex ou SF).
 
Il est 100% fonctionnel, mais encore un peu crade niveau code :D

mood
Publicité
Posté le 25-06-2010 à 09:33:58  profilanswer
 

n°2004660
ixemul
Nan mais sans blague ! ⚡
Posté le 25-06-2010 à 09:36:34  profilanswer
 


 
Pour ma part, je préfère le cast, d'un point de vu histoire et vieilles habitudes d'une part, mais aussi car le As me file des boutons, j'ai l'impression de VBiser le code avec ce truc :D
 
J'ai jamais pensé à regarder ce que ça donnait niveau perfs, ni même le code IL généré pour les 2 histoire de voir s'il y a une différence fondammentale  [:fing fang fung]

n°2004662
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-06-2010 à 09:41:08  profilanswer
 

A rajouter dans les outils, en urgence : Linqpad, un interpréteur permettant de tester du code en direct sans compilation, comme IDLE pour Python. Permet notamment de tester des requêtes Linq comme le suggère son nom, mais également n'importe quel code en VB et C#. Idéal pour prototyper. Et gratuit par dessus le marché.


---------------
J'ai un string dans l'array (Paris Hilton)
n°2004687
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-06-2010 à 10:33:08  profilanswer
 


je m'étais intéressé à la chose y'a quelques années, et j'avais trouvé un comparatif fort intéressant : http://m3mia.blogspot.com/2007/11/ [...] class.html


---------------
J'ai un string dans l'array (Paris Hilton)
n°2004691
ixemul
Nan mais sans blague ! ⚡
Posté le 25-06-2010 à 10:41:50  profilanswer
 

Harkonnen a écrit :


je m'étais intéressé à la chose y'a quelques années, et j'avais trouvé un comparatif fort intéressant : http://m3mia.blogspot.com/2007/11/ [...] class.html


 
Bon, comme ça j'aurais pas à me faire ch*er à tester :D
 
Bon, grosso modo, c'est pareil, faut juste choisir l'un ou l'autre et pas mélanger [:dawao]

n°2004696
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-06-2010 à 10:56:06  profilanswer
 

ixemul a écrit :

 

Bon, comme ça j'aurais pas à me faire ch*er à tester :D

 

Bon, grosso modo, c'est pareil, faut juste choisir l'un ou l'autre et pas mélanger [:dawao]


hmmm, moi ce que je retiens, c'est que effectivement il ne faut pas mélanger, mais que dans tous les cas (cast direct ou test de succés du cast), c'est isinst (et donc "as" ) qui est plus rapide [:transparency]

Message cité 1 fois
Message édité par Harkonnen le 25-06-2010 à 10:56:57

---------------
J'ai un string dans l'array (Paris Hilton)
n°2004698
ixemul
Nan mais sans blague ! ⚡
Posté le 25-06-2010 à 10:57:32  profilanswer
 

Harkonnen a écrit :


hmmm, moi ce que je retiens, c'est que effectivement il ne faut pas mélanger, mais que dans tous les cas (comparaison directe ou test de succés du cast), c'est isinst (et donc "as" ) qui est plus rapide [:transparency]


 
La différence me semble peu significative... Enfin, la syntaxe est trop moche pour que ça me fasse changer d'avis :D

n°2004720
ixemul
Nan mais sans blague ! ⚡
Posté le 25-06-2010 à 11:29:14  profilanswer
 


 
Non pas uniquement pour musicien, je n'ai que le Player MOD4/8,XM,S3M,STM, ça fait 6 mois que je passe quelques heures dessus (quand ma femme m'accorde cette faveur :D) et j'y voyais peu d'intérêt en dehors de ma simple satisfaction... Jusqu'a récemment cela n'avait que peu d'interêt car on pouvait utilier BASS.NET ou FMOD via les wrapper .NET respectifs. Puis dernièrement je l'ai adapté pour SilverLight sous forme d'un MediaElement dérivé et je me suis dits que là ça devenait interressant ! Pouvoir Ajouter de la musique à une application sans avoir à rajouter les 10Mo d'un MP3 mais en faisant revivre les bon vieux modules dont on trouve des merveilles faisant 100Ko (et même moins, parfois plus aussi), nickel pour embarquer ça !
 
Enfin voilà quoi... faut que je me motive à créer un projet sur CodePlex :)

n°2004744
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-06-2010 à 12:03:02  profilanswer
 


voilà l'article ;)

Citation :


Comparing ISINST to CASTCLASS
I was reading through a corporate C# coding standard the other day for one of my clients, and noticed that one of the coding requirements in the standard related to casting of types in code.
Their standard stated that all type conversions in C# should be accomplished by using the 'as' keyword rather than using a direct cast (i.e. '(type)').
I quizzed my client on this to see what formed the basis of their choice to use 'as'. They had no explanation, but said that they felt it could be faster.
 
Following on from this, I was interested to see whether using 'as' or '(type)' was faster for type conversion.
 
In .Net IL, 'as' is compiled to 'isinst'. isinst performs a type conversion and returns null if the specified type conversion is not valid.
This differs from using '(type)', which compiles to 'castclass'. castclass also performs a type conversion but throws an Exception if the specified type conversion is not valid.
This is an important difference. For example, consider the following example using 'as' (isinst):
void Foo1(object ObjA)
{
  ClassDef ObjB;
 
  ObjB = ObjA as ClassDef;
  ObjB.Property = "12345";
}
 
In the example, we have to be certain that we know ObjA can be converted to the ClassDef type, ObjB, because if it cannot, a NullReferenceException will occur in the line where the property is set.
A better implementation of the above example could be:
void Foo2(object ObjA)
{
  ClassDef ObjB;
 
  ObjB = ObjA as ClassDef;
  if (ObjB != null)
    ObjB.Property = "12345";
}
 
If we consider the same example using '(type)' (castclass):
void Foo3(object ObjA)
{
  ClassDef ObjB;
 
  ObjB = (ClassDef)ObjA;
  ObjB.Property = "12345";
}
 
Again in this example we have to be sure that the conversion between the two types is valid, because else a TypeConversionException will occur on the line where ObjA is cast to ClassDef.
There could be two potential alternatives to the castclass example:
void Foo4(object ObjA)
{
  try
  {
    ClassDef ObjB;
 
    ObjB = (ClassDef)ObjA;
    ObjB.Property = "12345";
  }
  catch (Exception ex)
  {
    // Do something useful
    throw ex;
  }
}
void Foo5(object ObjA)
{
  ClassDef ObjB;
 
  if (ObjA is ClassDef)
  {
    ObjB = (ClassDef)ObjA;
    ObjB.Property = "12345";
  }
}
 
In the examples above, Foo1 and Foo3 would be appropriate to use if we knew that the object ObjA can definitely be converted to ClassDef. However, this may not always be likely, particularly in these examples becuase the parameter ObjA is an object type.
In these circumstances, it could be more appropriate to use Foo2, Foo4 or Foo5, because they offer security against failures during the conversion process.
In Foo2, we rely on isinst returning null if the conversion is not valid, and so we check for null after the conversion.
In Foo4, we handle an exception that could be raised during a failed castclass.
In Foo5, we first check to see whether ObjA is a ClassDef (using isinst - 'ObjA is ClassDef') and then perform the conversion in the knowledge that it will not cause an exception.
 
Now I had five potential examples for performing a type convesion, I thought it would be interesting to see whether there was a great deal of difference in the time taken to carry out the different examples.
I wrote a test project which used a high-precision StopWatch to time each of the procedures.
I timed each procedure as it performed one billion casts, repeated over 50 iterations to ensure that a good average time could be ascertained.
Following on from this I analysed the results to see which of the above five examples was fastest.
 
The total time for all 50 billion conversions for each test were:
Foo1 = 1,466,176 ms
Foo2 = 1,506,633 ms
Foo3 = 1,499,661 ms
Foo4 = 1,519,072 ms
Foo5 = 1,689,141 ms
 
And the average times per iteration (1 billion conversions) were:
Foo1 = 29,323.52 ms
Foo2 = 30,132.66 ms
Foo3 = 29,993.22 ms
Foo4 = 30,381.44 ms
Foo5 = 33,782.82 ms
 
Foo1 was the fastest, closely followed by Foo3 (which was around 2.284% slower).
However, as neither Foo1 or Foo3 contain any checks to ensure that the conversion was a success so they may be unsuitable for general use.
 
Of the remaining methods, Foo2 was fastest, which involved checking for a null value after using isinst, followed by Foo4 (the the try...catch block around castclass) and finally Foo5, which was a combination of isinst and castclass. Foo5 was significantly slower than all the other methods, being around 3.5 seconds\million conversions slower than the slowest of the other four methods.
In order to directly compare isinst and castclass, we can examine Foo1 and Foo3. Consider the IL for Foo1 and Foo3 respectively:
Foo1
...
IL_0014  ldloc.2
IL_0015  isinst    TestCastStyle.ClassDef
IL_001a  stloc.1
IL_001b  ldloc.1
IL_001c  ldstr     "12345"
IL_0021  callvirt  instance void TestCastStyle.ClassDef::set_Property(string)
...
 
Foo3
...
IL_0014  ldloc.2
IL_0015  castclass TestCastStyle.ClassDef
IL_001a  stloc.1
IL_001b  ldloc.1
IL_001c  ldstr     "12345"
IL_0021  callvirt  instance void TestCastStyle.ClassDef::set_Property(string)
...
 
The code for the methods is identical, other than IL_0015, which uses isinst in Foo1 and castclass in Foo3.
 
In the tests I ran, Foo1 took around 29.32ms\million conversions whereas Foo3 took 29.99ms\million, which is a difference of 0.67ms\million.
This confirms that using isinst is definitely quicker than castclass.
 
Considering the scenario where a check must be performed to ensure the conversion is valid, we can compare Foo2 (isinst) to Foo4 or Foo5 (castclass). The IL for these methods is:
Foo2
...
IL_0014  ldloc.2
IL_0015  isinst    TestCastStyle.ClassDef
IL_001a  stloc.1
IL_001b  ldloc.1
IL_001c  brfalse.s IL_0029
IL_001e  ldloc.1
IL_001f  ldstr     "12345"
IL_0024  callvirt  instance void TestCastStyle.ClassDef::set_Property(string)
...
 
Foo4
...
try
{
  IL_0014  ldloc.2
  IL_0015  castclass TestCastStyle.ClassDef
  IL_001a  stloc.1
  IL_001b  ldloc.1
  IL_001c  ldstr     "12345"
  IL_0021  callvirt  instance void TestCastStyle.ClassDef::set_Property(string)
  IL_0026  leave.s   IL_002b
}
catch [mscorlib]System.Exception
{
  IL_0028  pop
  IL_0029  rethrow
}
...
 
Foo5
...
IL_0014  ldloc.2
IL_0015  isinst    TestCastStyle.ClassDef
IL_001a  brfalse.s IL_002e
IL_001c  ldloc.2
IL_001d  castclass TestCastStyle.ClassDef
IL_0022  stloc.1
IL_0023  ldloc.1
IL_0024  ldstr     "12345"
IL_0029  callvirt  instance void TestCastStyle.ClassDef::set_Property(string)
...
 
At first glance, I had assumed that Foo4 would be slowest of these methods, but the results were:
Foo2 took 30.13ms\million conversions
 
Foo4 took 30.38ms\million conversions
 
Foo5 took 33.78ms\million conversions
 
 
I was surprised to see that Foo5 was by far the slowest. There does not seem to be a massive difference between Foo2 and Foo4 under the test conditions, but if an Exception was raised at IL_0015 in Foo4, this would slow the method down considerably, whereas Foo2 would continue to be very quick.
 
The conclusions from the tests I performed are:
In a direct comparison, isinst is quicker than castclass (although on slightly)
 
When having to perform checks to ensure the conversion was successful, isinst was significantly quicker than castclass
 
A combination of isinst and castclass should not be used as this was far slower than the quickest "safe" conversion (over 12% slower)
 
 
If you would like to run the tests yourself, drop me an e-mail and I will send you the test program I used. Additionally, if you would like the analysis files containing the timings and code dumps, I can also send you this.
 
Have fun!


---------------
J'ai un string dans l'array (Paris Hilton)
n°2004761
ixemul
Nan mais sans blague ! ⚡
Posté le 25-06-2010 à 13:08:59  profilanswer
 

Amen  :jap:

mood
Publicité
Posté le 25-06-2010 à 13:08:59  profilanswer
 

n°2004765
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-06-2010 à 13:27:07  profilanswer
 

[:shimay:1]


---------------
J'ai un string dans l'array (Paris Hilton)
n°2004767
TotalRecal​l
Posté le 25-06-2010 à 13:30:40  profilanswer
 

Harkonnen a écrit :

A rajouter dans les outils, en urgence : Linqpad, un interpréteur permettant de tester du code en direct sans compilation, comme IDLE pour Python. Permet notamment de tester des requêtes Linq comme le suggère son nom, mais également n'importe quel code en VB et C#. Idéal pour prototyper. Et gratuit par dessus le marché.


Pas totalement gratuit (l'autocompletion est payante) mais c'est effectivement un super outil, merci de l'avoir mentionné !!


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2004778
TotalRecal​l
Posté le 25-06-2010 à 13:45:24  profilanswer
 

ixemul a écrit :


 
Bon, histoire de me donner un coup de pied au c*l. Est-ce que ça interresserait quelqu'un un mod player (en fait un port bête et méchant de MikMod) pour silverlight et/ou NAudio ? Sachant que j'ai ça dans mes cartons depuis quelques mois et que j'arrive pas à me motiver à le releaser (genre sur codeplex ou SF).
 
Il est 100% fonctionnel, mais encore un peu crade niveau code :D


C'est toujours sympa de partager donc n'hésite pas :). Le côté Silverlight est intéressant effectivement, même si sous Windows l'intérêt est plus limité.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2004789
TotalRecal​l
Posté le 25-06-2010 à 14:01:11  profilanswer
 


LO,
Je ne reprend pas les liens à l'identique (la moitié doivent être morts ou obsolètes et ne sont même pas commentés, je reprendrai peut être plus tard les plus pertinents) mais je mets un lien vers le topic.  
Harko, Si tu veux bien tu peux fermer le topic en question pour éviter qu'il remonte en mettant un lien vers ici ? Pour que celui-ci soit la référence, vu que l'autre n'a pas reçu de post depuis 2005 et son auteur ne l'a jamais MAJ.
J'ai aussi mis ton autre lien.


Message édité par TotalRecall le 25-06-2010 à 14:02:18

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2004791
ixemul
Nan mais sans blague ! ⚡
Posté le 25-06-2010 à 14:05:23  profilanswer
 

Tiens, quelques petites précisions pour la première page:
 
-Lien pour NAudio : http://naudio.codeplex.com/
-Lien Pour CSS Friendly : http://cssfriendly.codeplex.com/
D'ailleur ce dernier n'est pas en bêta, même s'il n'évolue plus, il est stable ;)
 
 
Sinon, un autre petit outil qui me vient à l'esprit que j'ai toujours sur un coin de disque : Regulator -> test de regex pour .NET

n°2004795
ixemul
Nan mais sans blague ! ⚡
Posté le 25-06-2010 à 14:14:13  profilanswer
 

[:ddr555]

n°2004797
TotalRecal​l
Posté le 25-06-2010 à 14:16:37  profilanswer
 

Bien vu pour Regulator !  
J'ai rajouté les deux liens. C'est vrai pour cssfriendly, je ne sais pas pourquoi je croyais que le dév s'était arrêté en 2006 sur une bêta, alors qu'une version 1.0 est sortie et il y a même des commits sur le projet jusque 2009 (malheureusement jamais intégrés dans une release officielle semble t-il)... J'avais du me baser sur un lien pas à jour, la preuve que c'est bien de mettre les liens pour chaque truc :D.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2004869
TotalRecal​l
Posté le 25-06-2010 à 17:55:10  profilanswer
 

du html [:lunabulle] une iframe et du js [:minipinguin]
sans moi merci [:popovski]


Message édité par TotalRecall le 25-06-2010 à 17:56:16

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2005063
TotalRecal​l
Posté le 27-06-2010 à 14:51:06  profilanswer
 

Sympa. Bon courage :D. On est tous passés par ce genre de trucs...
 
Je viens d'ajouter un lien dans le post #3 vers un site que je trouve excellent.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2005384
TotalRecal​l
Posté le 28-06-2010 à 17:42:56  profilanswer
 


Ca vaut vraiment le coup d'en prendre le temps pour certains d'entre eux :).
 
Pour ton lien, je suis à peu près sûr d'avoir le même si ça concerne une certaine parodie de bande annonce :D. J'ai vu ça hier, je l'ai trouvé tellement sympa et bien fait qu'il a fini sur mon facebook.  
J'ai aussi hésité à le poster ici mais vu que je disais dans mon premier post que le topic ne devait pas tourner en troll/guéguerre de chapelle je me suis abstenu :D. Cela dit c'est plus fun que subversif, y a pas de débat de fond, juste de la déconne... Je pense que y a pas de mal.
Je vois que le lien youtube que j'avais est passé en Privé bizarrement, donc impossible à voir... si t'en as un qui marche tu peux la poster, pas de pb pour moi :p
 


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2005531
tomlev
Posté le 29-06-2010 à 00:33:55  profilanswer
 

TotalRecall a écrit :

I-1-A / Multimédia :
...

  • Dvp.Net : Le framework .Net du site developpez.com, assez complet et avec pas mal de trucs sympas à reprendre !



 
Salut,
 
Je suis un des auteurs de cette lib. Je voulais juste signaler qu'elle était mal classée : elle n'a rien à voir avec le multimédia ;)
 
C'est plutôt une collection d'utilitaires en tout genre :
 

  • un paquet de méthodes d'extensions pour les collections, les entrées/sorties, l'accès aux données, la réflection, les enums, etc...
  • des algos métier souvent utilisés (vérification de RIB, de numéro de carte bleue, etc)
  • un convertisseur de nombres en lettres
  • un formateur de texte avancé
  • des utilitaires pour WPF (tri de ListView, effets "glass" (Vista/Seven), markup extensions diverses, classes pour MVVM, etc...)
  • des utilitaires pour Windows Forms (ComboBox avec formatage des items, déplacement automatique de contrôles/forms, capture d'image, TextBox numérique...)
  • et encore pas mal d'autres choses, mais je ne peux pas tout lister ici...


La version 0.2 vient de sortir et apporte son lot de nouveautés, n'hésitez pas à y jeter un coup d'oeil ;)

n°2005590
TotalRecal​l
Posté le 29-06-2010 à 10:04:28  profilanswer
 

tomlev a écrit :

 

Salut,

 

Je suis un des auteurs de cette lib. Je voulais juste signaler qu'elle était mal classée : elle n'a rien à voir avec le multimédia ;)

 

C'est plutôt une collection d'utilitaires en tout genre :

 
  • un paquet de méthodes d'extensions pour les collections, les entrées/sorties, l'accès aux données, la réflection, les enums, etc...
  • des algos métier souvent utilisés (vérification de RIB, de numéro de carte bleue, etc)
  • un convertisseur de nombres en lettres
  • un formateur de texte avancé
  • des utilitaires pour WPF (tri de ListView, effets "glass" (Vista/Seven), markup extensions diverses, classes pour MVVM, etc...)
  • des utilitaires pour Windows Forms (ComboBox avec formatage des items, déplacement automatique de contrôles/forms, capture d'image, TextBox numérique...)
  • et encore pas mal d'autres choses, mais je ne peux pas tout lister ici...


La version 0.2 vient de sortir et apporte son lot de nouveautés, n'hésitez pas à y jeter un coup d'oeil ;)


Hello !
Bien vu effectivement, je ne sais pas trop pourquoi je l'ai mise en Multimédia. Le premier post a pas mal bougé depuis que j'ai créé le topic et cette lib était déjà dans la toute première version, l'organisation du message peut très bien encore laisser à désirer ;)
Au passage, si tu as des propositions n'hésite pas!

 

Je ne prétend pas tout connaître de votre lib (très riche), mais j'en ai une bonne vision. D'ailleurs je me suis servi de votre implémentation de Levenshtein pas plus tard qu'hier :). Il n'y a pas eu l'ambiguïté que suggère Fred ;)
Le seul truc que je regrette un peu c'est la difficulté à comprendre l'usage ou le rôle de certains trucs faute d'exemples et d'une doc aboutie pour tout. Quand on cherche si un truc existe, ça n'est pas évident de voir si la lib propose une réponse à un problème donné. Mais ça reste du super boulot et j'imagine qu'au fil des versions ça s'arrangera!
Je vais voir ce qu'apporte la V2 !
Merci pour ton post et bonne continuation :)

 

edit : en fait je me rend compte que déjà le wiki a pas mal bougé depuis qqes semaines, mais c'est peut être une impression :)

Message cité 2 fois
Message édité par TotalRecall le 29-06-2010 à 10:15:43

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2005901
TotalRecal​l
Posté le 30-06-2010 à 01:40:51  profilanswer
 

Il fait effectivement à peu de choses près ce que tu recherches, en tout cas il t'allègera considérablement le boulot si tes fields existent déjà.

 

Pour le notify, un petit find/replace avec une regex peut peut être le rajouter (éventuellement à l'extérieur de VS vu que le find replace de celui-ci est loin de valoir certains autres éditeurs, ne serait ce que pour le multiline)

 

Autre possibilité, TytanNet est un projet codeplex open source (bien codé mais un peu usine à gaz pour si peu de choses on pourrait se dire), tu peux bidouiller pour qu'il génère tes fioritures. Je viens de mater rapidos les sources en ligne sur codeplex, ça a l'air de se passer dans ExtractPropertyRefactor.cs (je te laisse trouver le namespace)


Message édité par TotalRecall le 30-06-2010 à 02:07:06

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2005902
TotalRecal​l
Posté le 30-06-2010 à 01:51:38  profilanswer
 

Tiens et puisque cet après midi on parlait de dvp.net, j'en profite pour glisser insidieusement que si comme moi tu n'aimes pas spécifier en toute lettre les noms de tes propriétés en appelant ton notifymachin, la méthode GetPropertyName() qui se trouve dans ExpressionHelper (renommée LinqHelper dans la v2 semble t-il ?) est ton amie.  
C'est un truc tout con mais quand on a des noms de propriétés à rallonge et/ou du code qui a tendance à vivre tout seul sans te demander ton avis ça évite les merdes habituellement liées au littéraux dans la reflection...


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2006471
tomlev
Posté le 01-07-2010 à 23:45:26  profilanswer
 

TotalRecall a écrit :

Le seul truc que je regrette un peu c'est la difficulté à comprendre l'usage ou le rôle de certains trucs faute d'exemples et d'une doc aboutie pour tout. Quand on cherche si un truc existe, ça n'est pas évident de voir si la lib propose une réponse à un problème donné. Mais ça reste du super boulot et j'imagine qu'au fil des versions ça s'arrangera!
...
edit : en fait je me rend compte que déjà le wiki a pas mal bougé depuis qqes semaines, mais c'est peut être une impression :)


 
Effectivement, la doc de référence ne contient pas d'exemples, essentiellement parce que le format de saisie (commentaires de doc XML dans le code) n'est pas très pratique pour ça... Le wiki est là pour pallier ce manque. Je l'ai un peu enrichi il y a quelques jours, mais c'est vrai qu'il manque encore pas mal de choses... mais ça va s'arranger petit à petit, c'est du work in progress ;)
 

TotalRecall a écrit :

Tiens et puisque cet après midi on parlait de dvp.net, j'en profite pour glisser insidieusement que si comme moi tu n'aimes pas spécifier en toute lettre les noms de tes propriétés en appelant ton notifymachin, la méthode GetPropertyName() qui se trouve dans ExpressionHelper (renommée LinqHelper dans la v2 semble t-il ?) est ton amie.


 
Ah, tu utilisais déjà la V1 alors ? :)
Effectivement, j'ai renommé et déplacé la classe... vu que c'est une beta, on se permet encore de faire des breaking changes, mais bien sûr on évitera ce genre de choses quand on arrivera à une version stable
 
Sinon, pour le NotifyPropertyChanged, tu peux aussi utiliser la méthode d'extension Raise (dans EventExtensions), qui utilise le même principe :
 

Code :
  1. public event PropertyChangedEventHandler PropertyChanged;
  2. private int _myProperty;
  3. public int MyProperty
  4. {
  5.     get { return _myProperty; }
  6.     set
  7.     {
  8.         _myProperty = value;
  9.         PropertyChanged.Raise(this, () => MyProperty);
  10.     }
  11. }


 
Ca évite notamment d'avoir à écrire une méthode OnPropertyChanged qui vérifie que le delegate n'est pas null...
 
 
Il y a dans Visual Studio une fonctionnalité "cachée" qui est bien pratique : les templates T4
Je pense que ça correspond très bien à ce que tu veux faire. J'en ai d'ailleurs utilisé dans le code de Dvp.NET, si tu veux y jeter un coup d'oeil (regarde par exemple FuncExtensions.tt)
Pour profiter de la coloration syntaxique et de l'autocompletion, tu peux utiliser ce plugin (gratuit)

n°2006743
tomlev
Posté le 02-07-2010 à 19:44:11  profilanswer
 


T'emballe pas, c'est quand-même nettement plus couteux que d'utiliser une chaine ;)
Par rapport à la réflection, je sais pas trop, faudrait benchmarker...
Enfin de toutes façons, ça sert essentiellement pour les scénarios de binding, donc les perfs ne sont pas critiques en général
 
 
 
Ca ressemble à un marqueur UTF-8... vérifie l'encodage du fichier. Perso j'ai jamais eu ce problème
 
 
 
T'es sûr ? Ca me semble bizarre, vu que le moteur de template utilise le compilateur C# 3...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  75  76  77  78  79  80

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-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR