Browse by Tags

Don’t Misuse Lambdas
Avoid Duplicating Code It’s great that so many C# and VB.NET developers are taking advantage of LINQ. Unfortunately, using LINQ can encourage you to misuse lambdas. Consider the following simple example...
Posted 08 January 2010 08:15 PM by cmarinos | with no comments
Filed under: , ,
It’s Beta For a Reason!
Today, I was in the process of creating a branch of Elevate to support .NET 4.0 when I came across a subtle, but breaking change in the Enumerable.Count function. The following code works in .NET 3.5,...
Option Types vs Nullable Types
Some of the feedback that we’ve received about Elevate has to do with Option types and how they are different or similar to Nullable types in C#. Luke Hoban does a great job of describing some of the differences...
Introducing Elevate
The past few weeks, a few other SRT Solutions developers and I have been working on a new open source library called Elevate . We went public with the source on CodePlex this weekend, and although we’re...
F# For C# Programmers: Programming In the Small
During CodeMash this past January, I had the opportunity to talk with Chris Smith about F#. One of the things that he considered to be a sweet spot for the language was programming “in the small”. At the...
Posted 31 July 2009 03:16 PM by cmarinos | with no comments
Filed under: , ,
Beyond LINQ: Sequence Generation in C#
I'm taking a post off from the Paint Wars posts, but I think this one is worth it. Many languages have nice syntactic sugar for creating a sequence of numbers. Usually, the syntax says something like...
The Code Behind Paint Wars: Object Oriented Design
This post is the second in a series of posts about the code behind PaintWars . In this series, I will be talking about how the design and implementation of the game differed in C# and F#. Along the way...
Paint Wars on Display at CodeMash
At the SRT Solutions booth at CodeMash this year, we will be showcasing Paint Wars, which is a Wii remote controlled game built on the XNA Framework. The game was originally developed in C# during the...
Default TypeConverters and Objects
Take a look at the following code. Which of the following tests do you think should pass? public static TypeConverter converter; [ClassInitialize()] public static void MyClassInitialize(TestContext testContext...
Posted 05 November 2008 05:19 PM by cmarinos | with no comments
Filed under:
Somebody call the Orkin man...
...because it looks like I just ran into a bug. A compiler bug. A while back I posted about Assert.ExpectedException , and how that style of exception testing is an improvement over the ExpectedException...
Spice Up Your C# Code With Currying
Just because C# doesn't have language support for currying , doesn't mean you can't spice up your code by implementing currying methods yourself. Even better news is that, it's very easy...
Posted 11 July 2008 11:49 AM by cmarinos | with no comments
Filed under: ,
Testing for Exceptions in Unit Test Frameworks
In MSTest and nUnit, the typical way to test for exceptions is by using the [ExpectedException] attribute on a test method. I've always found this to be a little annoying, but it was just recently...