A simple C# method with an optional parameter declared using the OptionalAttribute as
namespace ClassLibrary11
{
public class Class1
{
public in
simply put, it's because C# 3.5 doesn't support optional parameters. As per MSDN,
Note that the DefaultParameterValueAttribute does not add support for default parameters to languages that do not support this feature. For example, if you use the DefaultParameterValueAttribute with a method written in C#, which does not support default parameters, you cannot use the default parameter when calling the method from C#.