Auto-Implemented Properties in Visual Basic 2010

Download this episode

Download Video


In this interview, Doug Rothaus, a programming writer on the Visual Studio User Education team, describes the new auto-implemented properties in Visual Basic 2010. He also demonstrates some of the code examples in his Help topic, Auto-Implemented Properties.

Kathleen McGrath
Visual Studio User Education



Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • User profile image
      Ed Fitzgerald

      The demo keeps asking to install Silverlight, even I have it installed. I clicked to install it again, but I still keep getting the prompt to install it. Running Vista Ultimate - latest updates.

    • User profile image

      Are you able to view other Silverlight videos on Channel 9?  Alternatively, you can view it in Windows Media Player by clicking Formats and then clicking WMV (high)

    • User profile image

      I think this is a great feature in Visual Basic because you will really save lots of code and it will be very easy to replace an auto implemented property with a normal property afterwards (adding additional checks and cleanup work for setters, or implementing extra logic for getters if you change the field).


      There is only one problem:

      Very often it is better to access fields directly because you want to bypass any validation checks that my be implemented in the property someday. An example for this is the constructor where you do not have valid data yet or some other situations.

      It is also good for readabilty of Code if you have your global Fields of a Class starting with a "_", while local variables in a function do not have it.

      I have seen you can access the private fields directly very nicely, but there is no intellisense support for this. If you type Me._Last in the construtor there is no entry for Me._Lastname.

    • User profile image

      Isnt't the backing variable declared incorectly and violating the .Net framework guildlines that have been in use for many many years? I thought all variables should be pascal case, aka, the first character should always be lower case.

      I.e for a property named CustermerID the backing variable should be _customerID NOT _CustomerID. The ONLY time words .net should start uppercase are Properties, Events, Classes, Delegates etc.



    • User profile image

      The feature just prepends an underscore onto whatever name you give the property. It doesn't modify any of the casing for the property name itself. Hence, you'll get backing variable casing that does not match the framework naming guidelines.  --Doug

    • User profile image

      Does it have affect on performance ??
      Auto-Implemented property vs Normal Property

    • User profile image

      What is the difference between a plain field and an auto-implemented property? Why would you choose one over the other?

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you can Contact Us.