Selon vous, quels sont les plus gros défauts de conception de C # ou du .NET Framework en général?
Mes favoris sont qu'il n'y a pas de type chaîne non nullable et que vous devez vérifier DBNull lors de l'extraction des valeurs d'un IDataReader.
Selon vous, quels sont les plus gros défauts de conception de C # ou du .NET Framework en général?
Mes favoris sont qu'il n'y a pas de type chaîne non nullable et que vous devez vérifier DBNull lors de l'extraction des valeurs d'un IDataReader.
Reset()
méthode IEnumerator<T>
était une erreur (pour itérateur blocs, la langue spec même exigences que cela déclenche une exception)IEnumerable[<T>]
ApplicationException
plutôt tombé hors de la faveur, - était-ce une erreur?Contains
, alors Add
), donc une collection qui synchronise les opérations distinctes n'est pas utileusing
/lock
modèle - peut-être leur permettant de partager une ré-utilisable (extensible?) la syntaxe; vous pouvez simuler cela en retournant IDisposable
et à l'aide de using
, mais il pourrait avoir été plus clairFoo(SqlConnection! connection)
(qui injecte un null-contrôle / throw
) serait bien (contrairement à int?
etc)dynamic
, ou vous pouvez l'activer comme ceci
foreach
d'expansion, ce qui signifie que anon-méthodes/lambdas de capture de la seule variable, plutôt que par itération (douloureuse avec filetage/async/etc)Les petits constructeurs peev - C # utilisent la syntaxe C ++ / Java selon laquelle le constructeur doit avoir le même nom que la classe.
New()
ou ctor()
aurait été bien meilleur.
Et bien sûr, des outils tels que coderush simplifient moins le changement de nom des classes, mais à partir d'un POV de lisibilité, New () offre une grande clarté.
Je suis d'accord avec insistance à ce post (pour ceux poo-pooing le manque de ToString, il y a un débogueur attribut de fournir un format personnalisé pour votre classe).
Sur le haut de la liste ci-dessus, je voudrais également ajouter à la suite de demandes raisonnables:
C'est assez pour le moment, je suppose. Ce sont tous des irritations que j'ai pu croiser au cours de la semaine écoulée. Je pourrais continuer pendant des heures si j'ai vraiment mis mon esprit à elle. C# 4.0 ajoute déjà nommé, les options et les arguments par défaut, j'ai catégoriquement qu'approuver.
Maintenant, pour une demande déraisonnable:
Jolie s'il vous plaît? :-)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.