反射破坏单例
Posted hyhy904
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反射破坏单例相关的知识,希望对你有一定的参考价值。
class SingLeton
private static SingLeton inntleton = null;
private ArrayList stlit = null;
//私有构造函数
private SingLeton()
public static SingLeton singl()
if (inntleton == null)
inntleton = new SingLeton(http://www.amjmh.com/v/);
return inntleton;
然后通过反射创建这个单例对象并且对比
//调用私有方法构造函数
var ass = Assembly.Load("TextCord");
var type = ass.GetType("TextCord.SingLeton");
var singletonCreate = Activator.CreateInstance(type, true);
var singleton = SingLeton.singl();
Console.WriteLine(object.ReferenceEquals(singleton, SingLeton.singl()));//true
以上是关于反射破坏单例的主要内容,如果未能解决你的问题,请参考以下文章
设计模式 创建者模式 -- 单例模式存在的问题和解决办法(序列化反序列化破坏单例模式 & 反射破坏单例模式)
单例模式_反射破坏单例模式_枚举类_枚举类实现单例_枚举类解决单例模式破坏