Paulo Morgado

.NET Development & Architecture

Recent Articles

view all

Events

Projects

Recent Readers

Visitor Locations

Visitor Locations

Disclaimer

The opinions and viewpoints expressed in this site are mine and do not necessarily reflect those of Microsoft, my employer or any community that I belong to. Any code or opinions are offered as is. Products or services mentioned are purchased by me, made available to me by my employer or the manufacturer/vendor which doesn't influence my opinion in any way.

Browse by Tags

All Tags » MSDN (RSS)
Hydrating Objects With Expression Trees - Part III
To finalize this series on object hydration, I’ll show some performance comparisons between the different methods of hydrating objects. For the purpose of this exercise, I’ll use this class: class SomeType { public int Id { get ; set ; } public string...
TechDays 2010: What’s New On C# 4.0
I would like to thank those that attended my session at TechDays 2010 and I hope that I was able to pass the message of what’s new on C# . For those that didn’t attend (or did and want to review it), the presentation can be downloaded from here . Code...
C# 4.0: COM Interop Improvements
Dynamic resolution as well as named and optional arguments greatly improve the experience of interoperating with COM APIs such as Office Automation Primary Interop Assemblies (PIAs) . But, in order to alleviate even more COM Interop development, a few...
C# 4.0: Dynamic Programming
The major feature of C# 4.0 is dynamic programming. Not just dynamic typing, but dynamic in broader sense, which means talking to anything that is not statically typed to be a .NET object. Dynamic Language Runtime The Dynamic Language Runtime ( DLR )...
C# 4.0: Alternative To Optional Arguments
Like I mentioned in my last post , exposing publicly methods with optional arguments is a bad practice (that’s why C# has resisted to having it, until now). You might argument that your method or constructor has to many variants and having ten or more...
C# 4.0: Named And Optional Arguments
As part of the co-evolution effort of C# and Visual Basic , C# 4.0 introduces Named and Optional Arguments . First of all, let’s clarify what are arguments and parameters : Method definition parameters are the input variables of the method. Method call...
C# 4.0: Covariance And Contravariance In Generics Made Easy
In my last post , I went through what is variance in .NET 4.0 and C# 4.0 in a rather theoretical way. Now, I’m going to try to make it a bit more down to earth. Given: class Base { } class Derived : Base { } Such that: Trace .Assert( typeof ( Base ).IsClass...
C# 4.0: Covariance And Contravariance In Generics
C# 4.0 (and .NET 4.0) introduced covariance and contravariance to generic interfaces and delegates. But what is this variance thing? According to Wikipedia , in multilinear algebra and tensor analysis, covariance and contravariance describe how the quantitative...
The Evolution Of C#
The first release of C# ( C# 1.0 ) was all about building a new language for managed code that appealed, mostly, to C++ and Java programmers. The second release ( C# 2.0 ) was mostly about adding what wasn’t time to built into the 1.0 release. The main...
C# Proposal: Compile Time Static Checking Of Dynamic Objects
C# 4.0 introduces a new type: dynamic . dynamic is a static type that bypasses static type checking. This new type comes in very handy to work with: The new languages from the dynamic language runtime . HTML Document Object Model (DOM). COM objects. Duck...
More Posts Next page »