C#如何实现“单例”方法

时间:2014-01-22 14:00:35

标签: c# singleton

我们都知道单身人士模式。

如何实现单例“方法”? - 只调用一次的方法,任何其他调用都不会执行任何操作。

我可以想一些方法(包括Lazy - if(!。IsValueCreated){... value.method();})但是你会如何实现呢?

2 个答案:

答案 0 :(得分:2)

我不这么认为有类似单身方法的东西。

如果您希望您的方法只执行一次代码块,那么您可以这样做。这可以通过几种方式完成,其中一种方法可以如下 -

   public class Foo
    {
      private static bool _isInitialied;


      public void Initialize()
      {
        if(_isInitialied) 
            return;
        //TODO: Initialization stups.
        _isInitialied = true;
      }
    }

答案 1 :(得分:0)

您可以使用操作实现此目的:

public class Test
{
    private Action _action;

    private void DoSomething()
    { 
        // Do something interesting
        _action = DoNothing;
    }

    private void DoNothing()
    {
    }

    public Test()
    {
        _action = DoSomething;
    }

    public void Call()
    {
        _action();
    }
} // eo class Test