c# - 将单例类重构为基本泛型类
问题描述
我有两个单例类,它们完全共享实现,只是对象类型不同。因为我知道将来我会继续添加更多具有相同实现的单例类型,所以我认为将单例类重构为通用基类是个好主意。但是,我有错误,如下面的片段所示,我不知道如何将单例实现到基泛型类中。
public class BaseClass<T> where T: new()
{
//Singleton instance
protected static readonly Lazy<T> _instance = new Lazy<T>(() => new T (param)); //Error on new T
protected static SqlTableDependency<TableC> tableDependency;
//Constructor
private T(IHubConnectionContext<dynamic> clients)
{
Clients = clients;
_tableDependency = new SqlTableDependency<TableC>(
ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString, "TableC");
}
//Properties
public static T Instance
{
get
{
return _instance.Value;
}
}
private IHubConnectionContext<dynamic> Clients
{
get;
set;
}
}
解决方案
推荐阅读
- java - 我可以用一个全新的项目覆盖 Git 存储库吗?
- swift - 文本字段占位符显示不佳,SwitUI
- c - Couchbase 7 SSL 连接问题
- python - Raspberry Pi 上的硬件加速 JPEG 压缩
- mysql - 当只有年、月和日可用时,如何根据日期范围过滤行?
- python - 安装 uPyCraft 时出现 UnicodeEncodeError
- react-hook-form - 如何在 2 个字段的 concat 值上触发验证(正则表达式)(国家代码下拉菜单+电话号码输入字段)
- knex.js - knex 如何在特定时间戳范围内选择行
- azure-devops - 如何根据 Azure 中提交的文件夹路径在 Yaml 中设置作业级别条件
- blockchain - 声明错误:未找到标识符或标识符不唯一。函数检索()公共视图返回(unit256){^-----^