当前位置:网站首页>C# 单例模式
C# 单例模式
2022-08-10 01:18:00 【ou.cs】
using System;
namespace 单例模式
{
internal class Program
{
public abstract class Singletion<T> where T : new()
{
private static T instance;
private static readonly object obj = new object();
public static T Instance
{
get
{
if (instance == null)
{
lock (obj)
{
if (instance == null)
instance = new T();
}
}
return instance;
}
}
}
static void Main(string[] args)
{
//Test.Instance.val = 444;
//Console.WriteLine(Test.Instance.val);
Console.WriteLine(Singletion<Test>.Instance.val);
//Console.WriteLine(Test.Instance.Equals(Singletion<Test>.Instance));
}
public class Test
{
public int val = 123;
public string str = "123";
}
}
}
public abstract class Singletion<T> where T : new()
{
private static T? instance= default;
private static readonly object obj = new object();
public static T Instance
{
get
{
if (instance == null)
{
lock (obj)
{
if (instance == null)
instance = new T();
}
}
return instance;
}
}
}
边栏推荐
- 空间复杂度为O(1)的归并排序
- 【UNR #6 C】稳健型选手(分治)(主席树)(二分)
- unity 报错 Unsafe code may only appear if compiling with /unsafe. Enable “Allow ‘unsafe‘ code“ in Pla
- Unity image is blurry after using long image
- 惊掉你下巴,程序员编码竟然可以被 996 指数化
- 力扣每日一题-第51天-744. 寻找比目标字母大的最小字母
- 【wpf】拖拽的简单实现
- Button countdown reminder
- 组件的使用
- 【kali-密码攻击】(5.2.1)密码分析:Hash Identifier(哈希识别)
猜你喜欢
随机推荐
彩色袜子题
微信账户体系科普:什么是UnionId、OpenId与wxopenid?
[论文阅读] Diverse Image-to-Image Translation via Disentangled Representations
【论文笔记】基于深度学习的机器人抓取虚拟仿真实验教学系统
Under pressure, there must be cowards
Unity vertex animation
进程管理和任务管理
商业模式及其 SubDAO 深入研究
volatile 关键字(修饰符 volatile 告诉编译器,变量的值可能以程序未明确指定的方式被改变)
Qt的pro文件递归搜寻添加文件
分析 20 个 veToken 生态系统协议 这种代币模型为何受欢迎?
高压之下,必有懦夫
已备案域名用国外服务器会不会掉备案?
具有多孔光纤的偏振分束器
grafana9配置邮箱告警
Summary of Web Performance Testing Models
【LeetCode】求根节点到叶节点数字之和
防勒索病毒现状分析
微透镜阵列后光传播的研究
UI遍历的初步尝试