public static class Provider<T> where T : class, new()
{
/// <summary>
/// 新实例
/// </summary>
/// <returns></returns>
public static T Factory()
{
return new T();
}
/// <summary>
/// 单例
/// </summary>
/// <returns></returns>
public static T Singleton()
{
return new Lazy<T>(() => new T()).Value;
}
}
使用如下: var alarmProvider = Provider<AlarmProvider>.Factory();