Re: Creating a "public only" constructor

Dave Jones <[email protected]> Mon, 6 Apr 2009 07:31:20 +0000
Newsgroups gmane.comp.windows.devel.dotnet.advanced
Message-ID <304548203-1239003087-cardhu_decombobulator_blackberry.rim.net-922513177-@bxe1015.bisx.produk.on.blackberry>
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:[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