I have been waiting for while for the Roslyn team to expose the completion and signature help services so I could use them in RoslynPad without having to compile my own version. This was expected to be included in Update 1 but got pushed back.
So for the time being, I’ve updated the RoslynPad […]
A while back I created a small sample that exposed the Roslyn code completion (a.k.a. Intellisense) APIs via Reflection. This was during the CTP days of Roslyn, and I hoped these APIs would become public when Roslyn hits RTM.
Much has changed in Roslyn during these past two years, and […]
When awaiting tasks in C#, you have the option to configure how the continuation behaves – whether it uses the Synchronization Context or not.
This can be pretty important, especially when awaiting tasks in code that was initialized from a UI thread, which has a Synchronization Context. Poorly written code can easily result in a […]
Hacking the Roslyn code has been fun. It is a very impressive piece of well engineered code.
The first experiment I’m about to present in this post is a simple code editor (similar to the acclaimed LINQPad) that uses two parts of Roslyn: the Script Engine and Completion Service.
In WCF we can use the APM pattern to create an asynchronous client. For example, consider the following service contract:
public interface IHello
string Greet(string name);
An APM-enabled version of this interface would look like this:
[ServiceContract(Name = “IHello”)]
public interface IHelloApm
You’ve all read about the asynchrony promise of C# 5 (if you haven’t, I highly recommend reading Eric Lippert’s series about the subject or this post won’t make much sense). I think it’s a great step forward, and it would make asynchronous programming all a lot easier.
We already know how to think in […]
LINQPad is a very useful code snippet IDE. I use it all the time to test small pieces of code. It's much more convenient than opening a new Visual Studio console application. It also formats the results very nicely.
What seems to be missing in LINQPad is a way to add methods or classes. […]
One of the things C# generics lacks (compared to C++ templates) is specialization (neither explicit nor partial). This can be very useful in some cases where you want to perform something differently for a specific T in a Class<T>.
With C# 3.0, there is a relatively easy way to achieve this, albeit not […]
I've been quiet for a while. Working a lot, and also burning the midnight oil, trying to bring life into this project I call… the WPF Contrib.
Set up at CodePlex, WPF Contrib is mainly a library of reusable components. My goal is for it to become a true community project. Meanwhile, I invite everyone to […]
I’ve decided to replace P# with a great C# SWI-Prolog Interface, written by Uwe Lesta (I changed it a bit. See attachment.) The main reason for this decision was performance. P# was considerably slower, and the project had to meet certain standards.
Unfortunately, the C# interface does not work with .NET 2.0, and I […]
Tags.NET 4 Animation AppFabric Async Axum Blog C# ClearType Cloud CLR CodeValue Concurrency Contests Deep Zoom Experiments Generics Google Ink Lectures Modeling Performance Personal Pivot Prism Programming Languages Prolog Reflector ReSharper Roslyn RoslynPad Silverlight Themes Threading Tips WCF Windows 7 Windows 2003 Windows Azure Windows Forms Windows Phone Windows Vista WPF WPF Contrib XAML Zune
- August 2016
- March 2016
- February 2016
- December 2015
- July 2015
- April 2015
- September 2014
- April 2014
- March 2014
- July 2013
- May 2013
- February 2013
- June 2012
- May 2012
- June 2011
- November 2010
- August 2010
- July 2010
- June 2010
- March 2010
- December 2009
- November 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- November 2007
- September 2007
- May 2007
- February 2007
- November 2006
- October 2006
- February 2006
- August 2005
- August 2004
- July 2004
- June 2004
- May 2004