"The initial work was done by Scott Peterson and then I take
taken over and continue developing and advancing the feature. The
implementation was rather straightforward especially because C# 4.0
only supports covariance and contravariance on delegates and
interfaces. The trickiest and most challenging part was to upgrade
type inference to deal with variant type arguments and to provide a
meaningful error reporting.
"Optional parameters as of C# 4.0 are limited to the CLR 2.0
functionality which in plain speak essentially means that only
constant expressions are supported. The feature adds what VB
supported for quite some time but does not add anything new
although the integration with existing features like nullable types
has been done."
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.