I share the same sentiment as Ayende on the visibility of open source project usage - page views and downloads are not useful in determining usage. If you do use NGenerics in your projects (whether it be public or private), you can let us know on the Ohloh project page . If you’re using it in an public/open source project, drop us a line so …
Something that I find a use for in almost every project I work on, is the HashList (also known as a MultiMap in the Java world) in NGenerics 1.2. A HashList is a multi-valued dictionary that uses a Dictionary<TKey, IList> under the covers. It still retains dictionary semantics but handles the creation and destruction of the key/list pairs …
The Specification pattern has been added to NGenerics . In my previous post on the Specification Pattern, we explored creating specification functionality using extension methods. It’s been implemented with the operator methods (And, Or, Xor) on the actual interface, with an abstract class forming the base of all specifications. The …
NGenerics 1.3 has finally reached production status - you can download it here .
With it released, we can start working on some exciting new features for 1.4. Watch this space!
Photo by Lewis Ngugi on Unsplash
One of the walls I hit the most in C# when designing classes is the lack of support for multiple inheritance, which makes that one spot for inheriting from a very valuable spot indeed. For the purposes of this discussion, we’ll start with a simple implementation of the specification pattern :
You would think that the integration between Visual Studio (using the TFS client) and TFS would be better than the Visual SourceSafe integration. Nope, the same annoying bugs that were present in the Visual SourceSafe integration has rocked up in TFS, so I’m assuming someone extended the old codebase.
After some unsuccessful check-ins (read, …
I’ve left Avision to join Intervate . Although I miss Avision and its people tremendously, I felt that I’ve reached my growth ceiling and that I needed some new challenges.
I’ve been an employee at Intervate for two months now - and it’s a great company : Microsoft Gold Partner, intelligent and competent people, exciting …
As part of version 1.3 of NGenerics , I’ve removed most of the sealed keywords from the classes (where it made sense). It took me a while, but I’ve accepted the following rule (and Microsoft is of the same opinion, it seems) :