Paulo Morgado
.NET Development & Architecture
-
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 COM-specific features were also added to C# 4.0.
-
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.
-
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).
-
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.
-
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.
-
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?
-
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.
-
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.
-
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.
-
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.