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