当前位置: 首页 > news >正文

快速企业建站网站运营与公司简介

快速企业建站,网站运营与公司简介,百度搜索资源平台提交,深圳代理记账公司收费标准单例模式基类 构造函数私有化#xff0c;防止外部创建对象 提供一个属性给外部访问#xff0c;这个属性就相当于是这个类的唯一对象 分为懒汉模式和饿汉模式 不继承MonoBehaviour的单例模式 public static MyUiManager Instance {get{if (instance null){instance new …单例模式基类 构造函数私有化防止外部创建对象 提供一个属性给外部访问这个属性就相当于是这个类的唯一对象 分为懒汉模式和饿汉模式 不继承MonoBehaviour的单例模式 public static MyUiManager Instance {get{if (instance null){instance new MyUiManager();}return instance;}} 继承MonoBehaviour的单例模式 public class MyUiManager : MonoBehaviour {private MyUiManager() { }private static MyUiManager instance;public static MyUiManager Instance {get{if (instance null){instance FindObjectOfTypeMyUiManager();}return instance;}} } instance FindObjectOfTypeMyUiManager(); 继承  MonoBehaviour  的单例是会挂在游戏场景上的需要在游戏场景身上寻找到然后赋值 继承与不继承两者初始化的方式不同 继承MonoBehaviour的自动单例模式 if (instance null){instance FindObjectOfTypeMyUIManager();//游戏场景中没有创建物体挂在脚本写代码来自动做这些事情if (instance null){GameObject go new GameObject(MyUIManager); //创建游戏对象instance go.AddComponentMyUIManager(); //挂载脚本到游戏对象身上}} 继承MonoBehaviour的单例模式切换场景的问题 if (instance null){GameObject go new GameObject(MyUIManager); //创建游戏对象instance go.AddComponentMyUIManager(); //挂载脚本到游戏对象身上}DontDestroyOnLoad(instance); //让游戏对象切换场景时不销毁 不继承MonoBehaviour的单例模式基类 /// summary /// 不继承MonoBehaviour 的单例模式基类 /// 作用继承了这个这个类的类自带单例模式 /// /summary public class SingletonPatternBaseT where T: SingletonPatternBaseT {private static T instance;public static T Instance{get{if (instance null){//where 里面要求含有无参构造函数 where T :new()//....单例怎么能有无参构造函数呢//instance new T();//或者利用反射调用无参构造方法来构造instance Activator.CreateInstance(typeof(T), true) as T;}return instance;}}//构造方法私有化 private 的话子类也无法继承对象所以使用protectedprotected SingletonPatternBase() { }} 继承MonoBehaviour的单例模式基类 using System.Collections; using System.Collections.Generic; using UnityEngine;public class SingletonMonoAutoBaseT : MonoBehaviour where T:MonoBehaviour {protected SingletonMonoAutoBase() { }private static T instance;public static T Instance{get{if (instance null){instance FindObjectOfTypeT();if (instance null){GameObject go new GameObject(typeof(T).Name); //创建游戏对象instance go.AddComponentT(); //挂载脚本到游戏对象身上}}return instance;}} }继承MonoBehaviour的单例模式基类切换场景问题 OnDestroy方法中访问单例对象的问题 OnDestroy 方法执行的时候资源会清空instance 检测为空自动生成新对象所以报错 解决办法 //记录单例对象是否存在用于防止OnDestory方法中访问单例对象报错     public static bool isExisted { get; private set; } false; protected virtual void OnDestroy()     {            isExisted false;      }  多线程访问单例时会遇到的问题 操作系统  线程锁问题 //线程锁。当多线程访问时同一时刻只允许一个线程访问private static object locker new object();//volatile关键字修饰的字段当多个线程都对它进行修改时可以确保这个字段在任何时刻呈现的都是最新的值private volatile static T instance;public static T Instance{get{if (instance null){lock(locker){if (instance null){//或者利用反射调用无参构造方法来构造instance Activator.CreateInstance(typeof(T), true) as T;}}}return instance;}}
http://www.dnsts.com.cn/news/141978.html

相关文章:

  • 北海做网站wordpress超cpu
  • 深圳游戏网站开发建站之星官网登陆
  • 个人网站备案 照片网站备案是每年一次吗
  • 济南网站建设安卓版博达网站建设怎么建立下载
  • 成都网站建设哪些公司好wordpress303
  • 做加工都在哪个网站推广网页设计作业怎么打包
  • 怎么用源码搭建网站中视频自媒体平台注册
  • 做网站设计都需要什么软件自己做商务网站有什么利弊
  • 茌平网站制作焦作做网站公司
  • 广州网站建设圣矢jsp网站开发实例pdf
  • 国内网站设计经典案例行业网站特点
  • 辽宁自助网站建设价格兖州网站制作
  • 怎么查网站制作空间有效期怎么在百度做免费推广
  • 网站建设文案策划线上营销平台
  • 网上有女的叫你建网站怎么样做英文网站
  • 做相册的网站dw黄冈贴吧
  • 南宁工程建设网站有哪些建立本机网站
  • 合肥专业网站制作设计网站策划书撰写
  • 温州建设管理处网站思维导图在线制作网站
  • 网站全局参数设置前端代码练习网站
  • 现在建设网站都用什么软件下载太和县建设银行网站
  • 网站侵权 做网站有责任吗离线发wordpress
  • 知乎 网站开发工具接网站开发项目平台
  • 网站新闻打不开北京sem
  • 厦门网站推广备案域名交易平台
  • 温州网站快速排名宣传片拍摄多少钱
  • 阿里巴巴做特卖的网站哈尔滨哪里有制作网页的
  • 玉林网站建设建立网站的步骤是什么
  • 企业 网站备案网页加速器排名
  • 温州网站推广公司设计一个自己公司网站开发