Why 2 versions? With and without a default namespace?

It’s true that some extension method library doesn’t use a namespace. It’s amazing, you just have to add the library as reference and you are done, all objects have hundreds of new method! You really feel like the library is a part of the current .Net Framework.

It’s doesn’t sound to go against all architectural concept? Of course, is it! Having no namespace mean you automatically pollute all objects by hundreds of methods without having the choice to do it.

That’s why I release two version, one with a namespace (Z.ExtensionMethods) and one without. It's up to you to use the one you want.

Why a namespace only for object "Z.ExtensionMethods.Object"?

If I create a new class (i.e.: Customer), I want to be able to decide to see easily all properties or to pollute it with hundreds of method. It’s completely differently than adding methods to well know object from .Net Framework.

Most of time, you rarely use extension methods from object namespace so why pollute everything?

What is the perfect world for namespace?

  • If you add to many extension methods, you pollute the IntelliSence.
  • If you don’t have enough, you are missing some essential situational methods.
  • If you have to many namespace, it’s make the library hard to use.
  • If you don’t have enough namespace, you can bring some confusion in your extension.
  • If you use many class name, you must repeat some method in every class.
  • If you don’t use many class name, it’s hard to use them like static method.
  • If you use the library as extension method, you always pollute the IntelliSence.
  • If you use the library as static method, you make your code less readable.

Why this stable version contains less method than the beta?

Time! A lot of method will be back in future release but for now, I didn’t have enough time to make / test them in time for the stable release.

Last edited Jan 23, 2014 at 4:40 PM by Jonathan_Magnan, version 20