The Visual Basic Language on Silverlight

Fast quote from The Visual Basic Team Blog! Their latest entry is about Visual Basic Language on Silverlight.

Supported…

  • 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()
  • IIF()
  • 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

view original


Leave a Reply

Your email address will not be published. Required fields are marked *