Sree's blog

Blog about C# debugging and compiler features i helped implement

Browse by Tags

Tagged Content List
  • Blog Post: Why Can’t Extension methods on Value Type be curried

    This is a followup to an post Extension Methods and Curried delegates . I have been recently asked if why Error CS1113: “Extension methods ' Name ' defined on value type ' typename ' cannot be used to create delegates” was added and what does it mean ? Here is the sort version of the story, basically...
  • Blog Post: C# Debugging Improvement for VS 2008 SP1- Part II

    Anonymous Types On Further review there are a few problems with anonymous-types, they all boil down to the fact the names given to these types are not valid C# type names ( so that users don't explicitly use them in code). But while debugging this is exactly the kind of thing that one wants to do...
  • Blog Post: C# Debugging Improvements for VS 2008 SP1- Part 1

    Overview Over the past few months I have been busy closing VS 2008 and working on some fixes for SP1. We have enabled some key debugging scenarios in C# in VS 2008 SP1, they include support for Range Variables in Queries & Anonymous Types Generic Type arguments Covering all of them...
  • Blog Post: Extension methods Interoperability between languages

    Extension methods written in C# can be imported and called with Extension method semantics in VB and vice versa. This is possible since me decorate the assemblies , types and methods in the same manner. Using the Attribute [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets...
  • Blog Post: Conversion rules for Instance parameters and their impact

    Overview: Instance parameter is the first parameter of an extension method and has the " this " parameter modifier. I discuss special conversion rules for them and some of the things that users of extension methods might encounter. Consider the code bellow using System; using System.Linq; namespace TestExtensions...
  • Blog Post: Debugging and Delayed Execution in C# 3.0

    Overview: C# 3.0 added a few constructs like queries which are delay executed. This means that they are not actually executed until the results of the query are required. Debugging some of them can seem strange since one can't step in to the Query where its created but only where its enumerated, like...
  • Blog Post: Debugging Features in C# 3.0 Part 1

    Overview C# 3.0 introduces many new constructs and opens entirely new ways of thinking and developing code. In this article I will talk about the new debugging features that make it easy to see the running code and better understand it. In my experience one spends as much time writing the initial...
  • Blog Post: Learning C#

    I was recently asked by a developer "I know C++ how do i get into C# and .Net". If you want to understand the language design and its inner workings I would suggest The C# programing Language . If you want to use .Net and C# try Practical .Net and C# . For the New feature in C#3.0 (lambdas...
  • Blog Post: Extension methods in C#

    Overview Extension methods are a new feature for C# 3.0 and I had the opportunity to implement them in the Compiler. These methods can then be called with instance syntax on any object that is convertible(see convertibility section for details) to the first param of the method. Validation Extension methods...
Page 1 of 1 (9 items)