Unable To Step Into .NET Source

I began getting a problem a while ago that I was unable to step into the .NET source in Visual Studio 2008.  It happened suddenly, and I noticed it shortly after installing SP1.  Given my observation it appears to be due to upgrading the SP1; but I couldn’t find anyone else not having the same problem.  I had another computer where it worked, so I basically put it aside. Today I had a chance to have a closer look.  I had configured 2008 (RTM, not SP1) to get the .NET source based on Shawn Burke’s blog and had not encountered … Continue reading Unable To Step Into .NET Source

Pass-through Constructors

Pass-through constructors is a term I use to describe parameterized constructors that have none of their own logic and simply pass parameters to the base class.  For example:     public class BaseClass     {         private String text;         public BaseClass(String text)         {             this.text = text;         }     }       public class DerivedClass : BaseClass     {         public DerivedClass(String text)             : base(text)         {         }     }

Pontificating Virtual Parameterized Constructors in C#

Tom Hollander recently posted about a change he required to the Enterprise Library for date/time validation.  He had to create a new class (rather than modify the Enterprise Library) that derived from another, defective class.  One of his complaints was that in order to effectively implement the base class he had to also write matching constructors that simply called the base class.  His suggestion was effectively to add the concept of virtual parameterized constructors to C#.  I detail “parameterized constructors” because C# already effectively has virtual default constructors.  In the following example the base constructor (Form()) is automatically called by … Continue reading Pontificating Virtual Parameterized Constructors in C#

visual studio jedi 2

Project Naming When you create a project that project name is also the name of the namespace.  If you want a particular namespace, enter it with the project name.  If you don’t want your binary to contain that namespace, it’s easier to rename that in the project properties Build tab than it is to change the default namespace, edit the class files, rename the project, rename folders, etc. Solution Naming When creating solutions it’s often best to name the solution differently than the project that you’re creating.  When I create a project it will be contained within a solution.  Once … Continue reading visual studio jedi 2

Dynamic Features in C#

.NET is the evolution of COM.  .NET was rumoured to be originally called COM+ 2.5. .NET has evolved well beyond COM and while it fulfils many of the goals that COM originally tried to fulfil, .NET removes many of the COM trappings that developers have to deal with. C# is a .NET language with C++ heritage.  C++, unlike VB is not a dynamic language.  C# was only dynamic in that it provided COM interop abilities.  You can program to any COM API you like, as long as you know what you’re talking to.  This is generally not a problem for … Continue reading Dynamic Features in C#

DevTeach 2008 Includes over $1,000 In Free Software.

Announced recently, registering for and attending DevTeach Montreal 2008 will land you with $1,000 of free software.  Including: Visual Studio 2008 Pro Expression Web 2 TechEd Conference DVD set The sessions have shaped up to be some of the best training money can buy, now you get a bunch of free software to boot. For more details on the free software see: http://www.devteach.com/News.aspx For a look at the sessions see: http://www.devteach.com/Schedule.aspx To register go to: http://www.devteach.com/Register.aspx

.NET 4.0, Evolving .NET Development

.NET 4.0 is the first release of .NET since 2.0 that evolves .NET for every programmer.  .NET 3.0 was largely LINQ and .NET 3.5 was largely new namespaces (like WCF, WWF, etc.) .NET 4.0 evolves the programming and design for any programmer.  It offers framework support for parallel processing (PFX will be released), Code Contracts (now DbC is a reality at the framework level, and opens the possibility of it being a reality at the language level post 2010), variance changes (co- and contra-variance on generics interfaces and delegates is now a reality). Parallel Processing Moore’s law has changed from … Continue reading .NET 4.0, Evolving .NET Development

Microsoft Techdays 2008

I’ve been lax on posting about my involvement in Microsoft Techdays 2008.  I’ll be doing two sessions in Ottawa.  One is titled “Internet Explorer 8 for Developers – What you need to know”.  The other is “Blackbelt Databinding in WPF”. The description of Internet Explorer 8 for Developers – What you need to know: Internet Explorer 8 has plenty of exciting new features for developers, from Web Slices and Activities, to new support for HTML5, CSS2.1, and CSS3. In this session, you’ll learn how to utilize these features in your latest and greatest Web applications. You’ll also learn how features … Continue reading Microsoft Techdays 2008