Fast quote from The Visual Basic Team Blog! Their latest entry is about Visual Basic Language on Silverlight.
- Late Binding: One of the most definitive features of the VB language, I find late binding to be especially useful in writing Silverlight code-behind.
- Conversions: Implicit and explicit conversion operators are available—Ctype, CStr, etc.
- Linq: Currently, Linq over objects is supported
- String utilities: Len(), InStr(), Mid(), UCase(), etc
- VB Collection: Most folks either love it or hate it. A subset of generic collections is also supported. (Non-generic collections are considered obsolete for Silverlight.)
- Dictionary(Of Key, Value)
- List(Of T)
- ArrayList (Obsolete)
- BitArray (Obsolete)
- Hashtable (Obsolete)
- Queue (Obsolete)
- SortedList (Obsolete)
- Stack (Obsolete)
- Math utilities: Rnd(), Random()
- Information utilities: Things like IsNumeric(), IsDate(), UBound(), LBound(), and so on
- Date utilities: Now(), TimeOfDay(), Year(), etc
- Constants: vbCrLf, vbTab, etc. Some of the more obscure constants have been removed, but the core set is included.
- All core VB Language Constructs: Type Inference, anonymous delegates, Handles, etc
Not Currently Supported…
- The My Namespace: We removed this for Alpha release because much of the existing My Namespace doesn’t make a ton of sense in Silverlight.
- XML Literals: The compiler support for XML literals is present, but System.Xml.Linq (which the feature depends on) is not available in Silverlight 1.1.
- COM Support: Silverlight plug-ins are not allowed to call COM components, so we removed the VB utilities related to COM (e.g., the COM Class attribute)
- FileSystem Object (VB6 Compatibility): Direct access to the file system is not permitted, so these APIs were removed. Alternatively, you might check out System.IO.IsolatedStorage if you need to persist data locally