Introduction This is a slightly esoteric post, but hopefully it will be of use somewhere. Below is some reasonably simple code that shows the basic use cases for connecting to a Tibco EMS Server topic from a C# client using Tibco's TIBCO.EMS.dll. It actually points at a locally installed instance of EMS. That is, the … Continue reading Connecting to Tibco EMS from a C# Client
Introduction There are several ways of doing asynchronous programming in .Net. Visual Studio 2012 introduces a new approach using the 'await' and 'async' keywords. These tell the compiler to construct task continuations in quite an unusual way. I found them quite difficult to understand using the Microsoft documentation, which annoyingly keeps saying how easy they … Continue reading Asynchronous Programming in .Net: Async and Await for Beginners
The Task Parallel Library in .Net is a wonderful resource. However, one thing that is a little confusing is that it is actually possible to start a task that runs on the same thread as the current code. That is, we can do Task.StartNew and it still runs on the same thread. This isn't the … Continue reading Why Starting a New Task in the Task Parallel Library (TPL) Doesn’t Always Start a New Thread
Introduction I have been programming with C# since it came out but I still find the delegate syntax confusing. This is at least partially because Microsoft have changed the recommended syntax regularly over the years. This article is a quick recap of the various syntaxes. It also looks at some of the issues with using … Continue reading Delegate Syntax in C# for Beginners
Introduction There seems to be some confusion about closures in C#: people are mystified as to what they are and there’s even an implication that they don’t work the way you’d expect. As this short article will explain they are actually quite simple, and do work the way you’d expect if you’re an object oriented … Continue reading Closures in C#
Introduction Extension methods were introduced in C# 3.0 as a way of extending a class without necessarily having access to the original source code of the class. As discussed in the C# Programming Guide on MSDN, extension methods were primarily introduced to the language to allow LINQ to add standard query operators such as GroupBy … Continue reading Extending Classes: Extension Methods or Inheritance?
Introduction Part 23 and part 24 of this series of articles described the Model-View-Presenter pattern. This article explains how the Smart Client Software Factory supports this pattern by generating appropriate classes. Guidance Automation Packages in the Smart Client Software Factory We saw how we could use the Smart Client Application Guidance Automation Package to set … Continue reading Model-View-Presenter using the Smart Client Software Factory (Introduction To CAB/SCSF Part 25)