Re: Creating a "public only" constructor
Dean Cleaver <[email protected]> Mon, 6 Apr 2009 17:11:21 +1200
| Newsgroups | gmane.comp.windows.devel.dotnet.advanced |
|---|---|
| Message-ID | <8E588B65FD82DF448592A3219102C395035CD2EE6C@SXSLAKL001.xceptionsoftware.com> |
It would mean too much re-work on the remainder of the system. It totals about 3 million lines of code, so removing the default constructor just isn't practical for now. -----Original Message----- From: Discussion of advanced .NET topics. [mailto:[email protected]] On Behalf Of Shawn Wildermuth Sent: Monday, 06 April 2009 16:25 To: [email protected] Subject: Re: [ADVANCED-DOTNET] Creating a "public only" constructor I don't know your system but perhaps the 'empty' constructor should be a factory method instead to dissuade users (you could even test that path's stack to be sure) but that's labor/cycles that you might not want, but if you really want to be sure. Thanks, Shawn Wildermuth http://wildermuth.com https://agilitrain.com Microsoft MVP (C#), MCSD.NET, Author and Speaker The Silverlight Tour is coming to a city near you! -----Original Message----- From: Discussion of advanced .NET topics. [mailto:[email protected]] On Behalf Of Dean Cleaver Sent: Monday, April 06, 2009 12:03 AM To: [email protected] Subject: Re: [ADVANCED-DOTNET] Creating a "public only" constructor The second constructor allows you to create a business services object on a different connection to the default - so I can specifically create business services objects connected to 2 different servers from within the same application. I then want to ensure that if I create an Invoice object on a given server, than any InvoiceItems it creates are on the same server, which would be done by using the second constructor. If a developer accidentally uses the default constructor, it could make a mess of the system. -----Original Message----- From: Discussion of advanced .NET topics. [mailto:[email protected]] On Behalf Of Shawn Wildermuth Sent: Monday, 06 April 2009 15:55 To: [email protected] Subject: Re: [ADVANCED-DOTNET] Creating a "public only" constructor I don't think you can. Can you explain why you want to protect it from internal classes? Thanks, Shawn Wildermuth http://wildermuth.com https://agilitrain.com Microsoft MVP (C#), MCSD.NET, Author and Speaker The Silverlight Tour is coming to a city near you! -----Original Message----- From: Discussion of advanced .NET topics. [mailto:[email protected]] On Behalf Of Dean Cleaver Sent: Sunday, April 05, 2009 11:42 PM To: [email protected] Subject: [ADVANCED-DOTNET] Creating a "public only" constructor Hey, anyone know if you can do this with attributes or something? I want to have 2 public constructors: public ClassName() { } public ClassName(some param) { } I want both publically accessible, but I want the default one *inaccessible* internally. Can that be done? Dino =================================== View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives =================================== View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives =================================== View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives =================================== View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives =================================== View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives