博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单例模式
阅读量:4560 次
发布时间:2019-06-08

本文共 1075 字,大约阅读时间需要 3 分钟。

using System;using System.Linq;using System.Reflection;namespace DotnetSpider.Core.Infrastructure{    ///     /// 单独的泛型实型    ///     /// 
public abstract class Singleton
{ private static readonly Lazy
MyInstance = new Lazy
(() => { var ctors = typeof(T).GetConstructors(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); if (ctors.Length != 1) { throw new InvalidOperationException($"Type {typeof(T)} must have exactly one constructor."); } var ctor = ctors.SingleOrDefault(c => !c.GetParameters().Any() && c.IsPrivate); if (ctor == null) { throw new InvalidOperationException($"The constructor for {typeof(T)} must be private and take no parameters."); } return (T)ctor.Invoke(null); }); ///
/// 单例对象 /// public static T Instance => MyInstance.Value; }}

转载于:https://www.cnblogs.com/TTonly/p/11069872.html

你可能感兴趣的文章
一起做RGB-D SLAM (2)
查看>>
.net C#中页面之间传值传参的六种方法
查看>>
docker核心概念与配置安装
查看>>
html表格表单标签的结合
查看>>
blog Java-Jinguo
查看>>
bzoj省选十连测推广赛
查看>>
[bzoj1934][Shoi2007]Vote 善意的投票
查看>>
test
查看>>
poj 1730
查看>>
Java的内存回收机制
查看>>
【不积跬步,无以致千里】VIM查找替换归纳总结zz
查看>>
javascript实现渐隐渐现上下循环滚动
查看>>
c语言之函数
查看>>
C语言经典算法100例-072-创建一个链表
查看>>
Data Guard 管理原理
查看>>
java处理excel-xlsx格式大文件的解决方案
查看>>
collections工具类
查看>>
jQuery EasyUI 表单插件 - Combobox 组合框
查看>>
高质量程序设计指南c++/c语言(18)--使用断言
查看>>
Spring的自动扫描与管理
查看>>