And*_*dre 25 .net c# singleton
如何在C#中实现单例模式?我想把我的常量和一些基本功能放在其中,因为我在我的项目中使用它们.我想让它们'全局',而不需要手动绑定它们我创建的每个对象.
tva*_*son 28
如果您只是存储一些全局值并且有一些不需要状态的方法,则不需要单例.只需使类及其属性/方法保持静态.
public static class GlobalSomething
{
   public static int NumberOfSomething { get; set; }
   public static string MangleString( string someValue )
   {
   }
}
Run Code Online (Sandbox Code Playgroud)
当你有一个普通的有状态的类时,单例是最有用的,但你只需要其中一个.其他人提供的链接应该有助于探索Singleton模式.
小智 5
仅当以下两个条件都成立时,单例才有意义:
请注意,#2,并不意味着你会喜欢的对象只有一个实例-如果多数民众赞成的情况下,简单地初始化它只有一次-这意味着必须(如中,这是危险的,这是不正确的)只能是单个实例。
如果要全局,只需创建某个(非符号)对象的全局实例(或使其成为静态对象或其他对象)。如果只需要一个实例,那么static是您的朋友。同样,只需实例化一个对象即可。
多数民众赞成在我的意见。
您可以真正简化单例实现,这就是我使用的:
    internal FooService() { }        
    static FooService() { }
    private static readonly FooService _instance = new FooService();
    public static FooService Instance
    {
        get { return _instance; }
    }
Run Code Online (Sandbox Code Playgroud)