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 » SoftDev (RSS)
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: 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
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...
LINQ: Enhancing Distinct With The SelectorEqualityComparer
On my last post , I introduced the PredicateEqualityComparer and a Distinct extension method that receives a predicate to internally create a PredicateEqualityComparer to filter elements. Using the predicate, greatly improves readability, conciseness...
LINQ: Enhancing Distinct With The PredicateEqualityComparer
Today I was writing a LINQ query and I needed to select distinct values based on a comparison criteria. Fortunately, LINQ’ s Distinct method allows an equality comparer to be supplied, but, unfortunately, sometimes, this means having to write custom equality...
CodeIt.Right Code File Header Template For StyleCop Rules
I like to use both StyleCop and CodeIt.Right to validate my code – StyleCop because it’s free and CodeIt.Right because it’s really good. While StyleCop provides only validation, CodeIt.Righ provides both validation and correction of violations. Unfortunately...
Defining Document Compatibility In Internet Explorer 8
The procedures to define document compatibility in Internet Explorer 8 are well documented here , but I’ve seem many developers and system administrators that are not aware of this. Although you can (and should) define the document compatibility your...
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...
Free e-Book: Programming Windows Phone 7 Series by Charles Petzold
PDF: Programming Windows Phone 7 Series XPS: Programming Windows Phone 7 Series Source code
More Posts Next page »