01 November 2010
01 November 2010

Subterranean IL: Introduction

Today, I’ll be starting a new series of blog posts on ‘Subterranean IL’ – a look at the low-level IL commands available to .NET compilers, what each command does (or at least the more interesting commands) and why each command does what it does. One of the first things I’ll be looking at are the … Read more
07 October 2010
07 October 2010

There’s only one ThreadExceptionHandler

0
0
There can only ever be one Application.ThreadException handler. Yes, you read that correctly. To give some context, the core of our error reporting code in SmartAssembly adds event handlers to AppDomain.CurrentDomain.UnhandledException (for general exceptions) and Application.ThreadException (for winforms exceptions) to display our error reporting dialog, or send the unhandled exception details back to the application … Read more
0
0
27 July 2010
27 July 2010

Introduction to open instance delegates

0
3
Creating a delegate to a method is normally quite a cheap operation. However, there are some reflection-based situations where you have to create a delegate dynamically using Delegate.CreateDelegate. As you can expect, such a method is many times slower than using the type-safe delegate constructor. Using open instance delegates can help alleviate this performance penalty. … Read more
0
3
19 May 2010
19 May 2010

Why enumerator structs are a really bad idea

0
9
If you’ve ever poked around the .NET class libraries in Reflector, you probably would have noticed that the generic collection classes all have implementations of their IEnumerator as a struct rather than a class. As you will see, this design decision has some rather unfortunate side effects… As is generally known in the .NET world, … Read more
0
9
15 April 2010
15 April 2010

Developing Schema Compare for Oracle (Part 1)

0
0
SQL Compare is one of Red Gate’s most successful SQL Server tools; it allows developers and DBAs to compare and synchronize the contents of their databases. Although similar tools exist for Oracle, they are quite noticeably lacking in the usability and stability that SQL Compare is known for in the SQL Server world. We could … Read more
0
0