Gustav Brock
Gustav at cactus.dk
Wed Jul 23 15:24:50 CDT 2008
Hi Shamil Thanks. That explains. I guess MS has considered this and concluded that the cost in consumed disk space is well worth avoiding the possible confusion from name conflicts. /gustav >>> shamil at smsconsulting.spb.ru 23-07-2008 21:06 >>> Hi Gustav, That's waste of HDD space for sure IMO. Probably somebody "paranoid" and overcautious with VB6/VBA programming experience background did write this code generator at MS. I'm serious :) FYI: I almost never use this. in my C# coding - I do use camelCase naming conventions and it works very well for me - never had any confusion with scope, as well as my VS2005/VS2008 C# compiler :) Here is the case when this. *is* necessary - but this (pun intended:)) is a bad coding style: public class ThatParent { public string Name = "Parent Name"; } public class ThisChild : ThatParent { public new string Name = "Child Name"; public void Test() { Console.WriteLine("Parent:" + base.Name); Console.WriteLine("Child:" + this.Name); Console.WriteLine("Whose name is this ?:" + Name); } } They (MS) do generate this. everywhere to prevent confusions like that one above as controls' names could be similar to the names of the properties and methods in WinForm class inheritance hierarchy: System..::.Object System..::.MarshalByRefObject System.ComponentModel..::.Component System.Windows.Forms..::.Control System.Windows.Forms..::.ScrollableControl System.Windows.Forms..::.ContainerControl System.Windows.Forms..::.Form Thank you. -- Shamil -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, July 23, 2008 7:40 PM To: dba-vb at databaseadvisors.com Subject: Re: [dba-VB] C#: this.prefix Hi Shamil et al Sorry to return to this perhaps pedantic question, but I noticed that the auto generated code in the .Designer.cs files are 100% flooded with either the this. prefix or the full namespace. Why would the generator do this if it was not necessary? Is it just being overcautious? /gustav >>> shamil at smsconsulting.spb.ru 02-07-2008 18:57 >>> Hi Gustav, I almost never use such prefixing - and I did use Me. a lot in VBA... I do use full namespace prefix if needed. Using this. prefix could disturb a lot as for C# programming is usual to make a lot of code refactorings with moving code snippets from here to there etc. I do use CamelCase postfix naming convention - and it helps and works well for me (Imagine that after almost ten years of using LNRC (and Hungarian) naming conventions in VBA and VB6!)... -- Shamil -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, July 02, 2008 7:55 PM To: dba-vb at databaseadvisors.com Subject: [dba-VB] C#: this.prefix Hi all How rigorously are you prefixing controls and variables with "this."? Is it a good or bad coding practice to use it when not strictly needed? Do I understand it right, that it is only needed to separate, say, a method in the current namespace from an identically named and public method in another namespace? I've found, that I use it a lot - old habit from "Me." in VBA, I guess. /gustav