--- In flexcoders@yahoogroups.com, "Sonja Duijvesteijn" <[EMAIL PROTECTED]> wrote: > > Hi all, > > I'm trying to make a singleton class as demonstrated below, but get the > error: "a constructor may only be declared 'public'". Well, that error is > clear, the reason for it is not however. > Isn't it possible anymore to make a singleton class, or is there another > method for it? > > Class Singleton { > > private static var _instance:Singleton = null; > > private function Sinleton() { > } > > public static function getInstance():Singleton { > if(Singleton._instance == null) { > _instance = new Singleton(); > } > return _instance; > } > > } > > Any help would be much appreciated. > > Kind regards, > Sonja Duijvesteijn >
Hi Have anyone tried using a construction like the following? public class Singleton { public static const Instance:Singleton = new Singleton(); function Singleton() { } public function doSomething():void { } } This is actually the recommandations of creating a singleton in c#, and it seems that it fullfils the job here as well. I know that, if you use flexbuilder 2 beta, then you'll get a warning if you leave out the scope of the constructor, but maybe it's worth it. By the way, be aware that the singleton posted initially as an example is not a recommended way of creating a singleton, i guess it's not a problem in AS3, but lazy loaded singletons must have a syncronized/looked load section when thread safety is an issue. BR Casper -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/