Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Auto-Implemented Properties in Visual Basic 2010

7 minutes, 44 seconds


Right click “Save as…”

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


Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • 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.

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

  • 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.

  • 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.



  • 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

  • RamRam

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

  • GariusGarius

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

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.