Re: Creating a "public only" constructor
Frans Bouma <[email protected]> Mon, 6 Apr 2009 09:56:46 +0200
| Newsgroups | gmane.comp.windows.devel.dotnet.advanced |
|---|---|
| Message-ID | <006601c9b68d$3c11e720$b435b560$@nl> |
Dean, I have the feeling the concern whether OTHER objects are created on the same server is not the concern of the class you want to instantiate but the concern of a repository or other object. I know you're facing a large pile of code, but you have to make a change somewhere anyway. I'd factor out this concern from this class and create factories to produce the proper instances on the right server/service. FB > Hmm - yeah. Not a bad idea... but would mean that only the Business Services > layer would ever compile in that release, and everything else would fail. > > -----Original Message----- > From: Discussion of advanced .NET topics. [mailto:ADVANCED- > [email protected]] On Behalf Of Dave Jones > Sent: Monday, 06 April 2009 19:31 > To: [email protected] > Subject: Re: [ADVANCED-DOTNET] Creating a "public only" constructor > > Wrap the constructor in a #if release? Then it won't be available in > debug? > > Dave > > > > > -----Original Message----- > From: Dean Cleaver <[email protected]> > > Date: Mon, 6 Apr 2009 16:02:43 > 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:ADVANCED- > [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