C# doesn't really have many weaknesses aside from that there isn't official Microsoft support for .NET on platforms other than Windows. I'd assume that you are primarily referring to ASP.NET about bad points, not my beloved C#.
I've found that most of the time these days, I've been using C#/ASP.NET as my primary freelance web development platform. Not really because I think its the best (I usually use PHP or occasionally RoR for personal projects), but there's just so many spectacular .NET commercial libraries that save a ton of development time and money. Plus, it doesn't hurt that C# is a joy to develop in (the only language I find to be more fun is Ruby, which is limited in its usefulness).
Thank you for this article. I was able to get up and running with the examples you provided:
Class myClass
Private i_count
Public Property Get count
i_count = i_count + 1
count = i_count
end Property
Public Property Get countTwice
countTwice = me.count + me.count
end Property
Public Property Let count(c)
i_count = c
end Property
End Class
Dim a
set a = new myClass
a.count = 0
a.countTwice
a.countTwice
WScript.Echo a.countTwice
I am curious, can we extend these classes?
There is 1 caveat to this. The me. syntax only works on Public properties/methods. If a property/method is declared Private, me. won't have visibility to it.