《番外Get》持续更新

目录

“$”符号快速链接

C# Conditional

Unity 非UI上显示上下文菜单

C# Partial局部属性用法

Unity 脚本中生命周期执行的顺序你真的了解吗?

关于序列化结构体在Unity属性面板上显示方法

关于脚本继承“Monobehaviour”后的类构造函数的问题


“$”符号快速链接

描述:

曾经我们链接字符串都是用“”+“” or string,.format(""),自C#6.0开始,“$”符号快速实现字符串链接。

    private void TestFormat()
    {
        int a = 10;
        string b = "$符号格式化";
        print($"这是a:{a},这是b:{b}");
        print(string.Format("这是a:{0},这是b:{1}", a, b));
    }

C# Conditional

描述:

方法属性的忽略,这种特性允许我们包括或者取消特定方法的所有调用。为方法声明应用Conditional特性并把编译符作为参数来说使用。
定义方法的CIL代码本身总是会包含在程序集中,只是调用部分的代码会被插入或忽略

#define 自定义1 //可以调用TestConditional_1()方法
#define 自定义2 //可以调用TestConditional_2()方法
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Diagnostics;
public class Testing_Conditional : MonoBehaviour
{
    private void OnEnable()
    {
        TestConditional_1();
        TestConditional_2();
    }

    [Conditional("自定义1")]
    private void TestConditional_1()
    {
        print("TestConditional_1");
    }

    [Conditional("自定义2")]
    private void TestConditional_2()
    {
        print("TestConditional_2");
    }
}

Unity 非UI上显示上下文菜单

描述:

如果想在Unity这里显示要调用的函数,按照以下操作步骤即可实现。

    //具体代码
    [ContextMenu("更新显示视频名字")]
    private void UpdateVideoName()
    {
        anchorTriggerContent.videoName = gameObject.name;
    }

C# Partial局部属性用法

描述:

Partial是局部类型的标志。局部类型可以实现将一个类、结构或接口分成几个部分,分别放在在几个不同的.cs文件中(当然也可以放在同一个.cs文件中)。
在程序进行编译之后,将会合并成一个完整的类。因此局部类型并没有看起来那么难以理解,使用partial只是让类变得更容易管理,实际使用时和普通的类一样。
适用范围: 
    (1)类型特别大,不适合放在一个文件中实现。 
    (2) 一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起。(如设计模式中的“模板方法”。模板方法就是把所有相同功能都写在父类中,需要有变化的方法在父类中写成虚方法,然后在子类中重写虚方法,因此模板方法利用partial实现了代码的利用。) 
    (3)一个类同时需要多个人编写。
注意事项: 
    (1)只适用于类、接口、结构,不支持委托和枚举。 
    (2)同一个类型的各个部分必须有修饰符partial。 
    (3)使用局部类型时,一个类型的各个部分必须位于相同的命名空间中。 
    (4)一个类型的各个部分必须同时被编译。 
    (5)partial只有和class、struct、interface放在一起时才表示局部类型。 
    (6)一个类型的各部分子类的访问修饰符必须保证一致性。 
    (7)若其中一个部分类使用了static /abstract/ sealed修饰符,则整个类都是静态类 / 抽象类 / 密封类。(后面会有static /abstract/ sealed的详解)。另外注意不能在一个部分类上使用static,在另一个部分类上使用abstract。 
    (8)局部类型的累加效应。 a.特性的累加效应。


public partial class PartialClass
{
    public void Print1()
    {
        print("局部类1");
    }
}
public partial class PartialClass {
    public void Print2()
    {
        print("局部类2");
    }
}
public partial class PartialClass {
    public void Print3()
    {
        print("局部类3");
    }
}

public partial class PartialClass : MonoBehaviour
{
    public void Print()
    {
        print("合并一个类");
        Print1();
        Print2();
        Print3();
    }
}

Unity 脚本中生命周期执行的顺序你真的了解吗?

描述:

场景中脚本生命周期执行的顺序:是按照对象在场景中第一次创建时候的顺序有关,与创建好对象后的排放顺序无关!顺序可打开**.unity场景文件查看或更改!也可以重新设计场景!删除**.unity.meta文件无效!

关于序列化结构体在Unity属性面板上显示方法

描述:

序列化Struct结构在Unity属性面板上显示

 [System.Serializable]
    public struct BubbleTimeType
    {
        public Material morning;
        public Material noon;
        public Material night;
    }
    [SerializeField] private GameObject sphere;
    [SerializeField] private BubbleTimeType bubbleTimeType;
    private MeshRenderer meshRenderer;

关于脚本继承“Monobehaviour”后的类构造函数的问题

描述:

当一个脚本继承自Monobehaviour的时候,类中还包含有当前类的构造函数,那么构造函数将会执行两次。

猜你喜欢

转载自blog.csdn.net/qq_18427785/article/details/116447489