I'm just curious why class/property attributes in VB.NET have a weird optional syntax such as:
<TestAttr("a", "abc", Optional1:="foo", Optional2:=3)>
VB.NET allows you to set optional parameters like this to avoid order restrictions (which is lovely) but in this case it's forcing you to that.
For example this is not possible:
<TestAttr("a", "abc", "foo", 3)>
even though the parameters are in the same order as the original definition.
Is there any good reason for this? Or is it just .NET designers were lazy on the subject?