C#
C#
长生但酒狂
热爱游戏开发、图形学、Shader
展开
-
Window 上安装任意版本的.NETFramework问题 (Unity Vscode代码无提示)
前言首先为什么需要安装任意版本的.NETFramework呢?因为在开发中我们可能会遇到需要不同版本的.NETFramework,可以是需要和同事保持版本一致,或者因为不同的项目需求,或者因为Unity Vscode代码不提示(需要选择正确的.NETFramework版本)等原因。但是当我们windows上安装高版本的时候,此时你想安装低版本的,系统会提示你 “这台计算机中已经安装了 T Fr...原创 2020-04-22 09:38:17 · 5556 阅读 · 5 评论 -
设计模式 - 状态模式与策略模式的区别
类图:状态模式和策略模式的类图几乎一模一样。策略模式:其思想是针对一组算法,将每一种算法都封装到具有共同接口的独立的类中,不同的行为使用不同的算法,并且它们可以相互替换。它是直接依赖注入到Context类的参数进行选择策略,所以客户端必须事先知道策略,由它去指定环境(Context)类使用哪种策略(算法)。状态模式:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的...原创 2020-04-16 18:44:26 · 961 阅读 · 0 评论 -
设计模式 - 状态模式(状态机)
有限状态机(英语:finite-state machine,缩写:FSM)有限状态机又称有限状态自动机(英语:finite-state automation,缩写:FSA),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型。简单说,它有三个特征:状态总数(state)是有限的。任一时刻,只处在一种状态之中。某种条件下,会从一种状态转变(transition...原创 2020-04-16 18:40:26 · 3286 阅读 · 0 评论 -
设计模式 - 策略模式
策略模式:对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。策略模式:定义了一族算法(业务规则);封装了每个算法;这族的算法可互换代替(interchangeable)。...原创 2020-04-16 14:36:20 · 345 阅读 · 0 评论 -
c# - 反射的使用
反射的定义审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码和反射相关的命名空间(我们就是通过这几个命名空间访问反射信息)反射的作用:可以使用反射动态地创建类型的实例,将...原创 2019-11-13 01:18:56 · 254 阅读 · 0 评论 -
C# 委托与回调函数(delegate、Action、Func)
1.delegate:delegate我们常用到的一种声明Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。例:public delegate int MethodDelegate(int x, int y);表示有两个参数,并返回int型。示例代码:using System;using UnityEngine;public class Delega...原创 2019-11-13 00:48:22 · 5017 阅读 · 0 评论 -
设计模式原则之六大原则
文章目录一.单一职责原则(Single Responsibility Principle):二.开闭原则(Open Close Principle):三.里式替换原则(Liskov Substitution Principle):五.接口隔离原则(Interface-Segregation Principle):六.迪米特法则(Low of Demeter):一.单一职责原则(Single Re...原创 2019-05-11 00:26:54 · 167 阅读 · 0 评论 -
设计模式 - 单例模式
单例模式定义:确保一个类只有一个实例,并提供一个全局访问点。代码实现:1.线程不安全:/// <summary>/// 单例模式的实现/// </summary>public class Singleton{ // 定义一个静态变量来保存类的实例 private static Singleton uniqueInstance; /...原创 2019-05-11 00:29:25 · 122 阅读 · 0 评论 -
接口和抽象类的区别
一:接口和抽象类的区别Interface(接口):1、不能实例化;2、包含未实现的方法声明;3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员);abstract(抽象类):抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法抽象类不能被实例化抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象...原创 2019-05-11 00:30:20 · 174 阅读 · 0 评论