Auto-Implemented Properties in Visual Basic 2010

Play Auto-Implemented Properties in Visual Basic 2010

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?

Add Your 2 Cents