美文网首页
unity C# 自定义隐式转换

unity C# 自定义隐式转换

作者: WOTTOW | 来源:发表于2022-05-12 11:31 被阅读0次

在C#中类型转换类型:隐式转换(implicit conversions)
隐式转换就是系统默认的、不需要加以声明就可以进行的转换。在隐式转换过程中,编译器无需对转换进行详细检查就能够安全地执行转换

例子:当需求是用Newtonsoft.Json保存二维数据。因为Newtonsoft不能直接保存vector2,所有这里需要自定义个二维数据结构用于保存,
我这个里是写的一个结构,在构造时转换类型。

一般情况

  public struct Vector2_Save
    {
        public float x;
        public float y;

        public Vector2_Save(Vector2 d)
        {
            x = d.x;
            y = d.y;
        }
        public Vector2 ToVector2()
        {
            return new Vector2(x, y);
        }
    }
调用
   private void Test()
        {
            Vector2 item=Vector2.one;
       Vector2_Save vector2_Save =new Vector2_Save(item);
        }

隐式转换

    public struct Vector2_Save
    {
        public float x;
        public float y;
        public Vector2_Save(Vector2 d)
        {
            x = d.x;
            y = d.y;
        }
        public static implicit operator Vector2(Vector2_Save t)
        {
            return new Vector2(t.x, t.y);
        }
        public static implicit operator Vector2_Save(Vector2 t)
        {
            return new Vector2_Save(t);
        }
    }
调用
   private void Test()
        {
            Vector2 item=Vector2.one;
            Vector2_Save vector2_Save = item;
        }

相关文章

  • unity C# 自定义隐式转换

    在C#中类型转换类型:隐式转换(implicit conversions)隐式转换就是系统默认的、不需要加以声明就...

  • C#魔灵-lesson_04-数据转换

    类型转换分以下两种 隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。 显式类型...

  • C# 类型转换

    隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的...

  • C++类型转换

    C++的类型转换分为隐式转换和显式转换 隐式转换举例: int i=4; double d=i;//隐式转换 显式...

  • scala-隐式机制及Akka

    隐式机制及Akka 隐式转换 隐式转换和隐式参数时Scala中两个非常强大的功能,利用隐式转换和隐式参数,可以提供...

  • 2017 10 18

    10月18日 继续就C#类型转换,运算符及方法的重载进行学习 类型转换 :隐式转换:int t = b1 + b2...

  • Scala基础——隐式转换

    隐式转换 Scala的隐式转换,其实最核心的就是定义隐式转换函数,即implicitconversion func...

  • 【Scala】Scala 隐式转换 implicit

    本篇结构: 前言 隐式转换类型 隐式转换的规则 -- 如何寻找隐式转换方法 参考博文 一、Implicit 简介 ...

  • Scala 隐式转换

    一、隐式转换 隐式转换需要执行隐式函数,隐式函数是以 implicit 关键字声明的带有单个参数的函数。隐式函数会...

  • 数据类型转换

    写在前面 C/C++编程中常见数据类型转换,包括隐式类型转换和显式类型转换。 1. 隐式类型转换 隐式类型转换在以...

网友评论

      本文标题:unity C# 自定义隐式转换

      本文链接:https://www.haomeiwen.com/subject/udpsurtx.html