美文网首页
unity3D,用sqlite中的数据,实例化类

unity3D,用sqlite中的数据,实例化类

作者: 雾再不斩 | 来源:发表于2018-03-16 17:10 被阅读0次

unity用,用sqlite中的数据,实例化类

写了一个方法.用反射实例化一个类,并用sqlite的数据为其中属性赋值.

使用需要一些前提

1.你需要传入要实例化的类型.

2.你需要将实例化使用的数据读取到一个SqliteDataReader中.

这是github代码,实际运行下可能更好理解.https://github.com/943670930/DB2Entity

实际代码:

/// 

    /// Creates the object.

    /// 读取reader中数据,用数据实例化一个类

    /// 

    /// The object.

    /// Sq reader.

    /// The 1st type parameter.

    public T CreateObject(SqliteDataReader sqReader){

        //实例化一个空类

        T newObject = System.Activator.CreateInstance();

        //获取类型

        Type type = newObject.GetType ();

        //获取类型中所有public属性

        FieldInfo[] fields =  type.GetFields ();//BindingFlags.Public);

        //遍历所有属性

        foreach (FieldInfo field in fields) {

            string attrName = field.Name;//获取属性名

            int colIndex = sqReader.GetOrdinal (attrName);//获取这个属性在reader中的位置

            //从reader中取值

            object newValue = new object();

            if(field.FieldType == typeof(int)){

                newValue = sqReader.GetInt32 (colIndex);

            }else if(field.FieldType == typeof(string)){

                newValue = sqReader.GetString (colIndex);

            }

            //赋值给属性

            type.GetField (attrName).SetValue (newObject,newValue);

        }

        return newObject;

    }

有问题可以联系我微博@圆滚滚骑士

相关文章

  • unity3D,用sqlite中的数据,实例化类

    unity用,用sqlite中的数据,实例化类 写了一个方法.用反射实例化一个类,并用sqlite的数据为其中属性...

  • IO 流中,inputstream能不能new

    一、什么样的类不能被实例化 接口抽象类构造方法的访问权限为私有 二、实例化 实例化是指在面向对象的编程中,通常把用...

  • C++类和对象

    类定义: 类实例化对象:从栈中实例化,从堆中实例化。 访问限定符:public 公有的protected 受保护的...

  • 什么叫实例化

    实例化是指在面向对象的编程中,通常把用类创建对象的过程称为实例化。 就是用日期类创建了一个日期的对象,就叫对象的实...

  • Android SQLite 简单的使用步骤

    Android开发过程中可以用SQLite储存结构化数据,如联系人信息之类的。 由于SQLite的操作API是相当...

  • python 一图看懂各种类方法

    对象:是类实例化后的实体 实例化:创建对象的过程称为实例化,一般用:if __name__ == '__main_...

  • python基础-09-面向对象、装饰器

    面向对象 类概念 类的定义 类的实例化 类和实例的属性 类的私有变量 数据封装 继承 多态 多继承 类的特殊方法 ...

  • Java 中的 static 使用之静态初始化块

    Java 中可以通过初始化块进行数据赋值。如: 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行...

  • Python类相关东西

    注:self的作用:self会在类的实例化中接收传入的数据, 在代码中运行。类方法中调用类属性需要使用self 每...

  • JAVA(三)回忆基础扫盲之一

    一.对象与类 简单的类 实例化构造方法 访问实例化变量和访问成员方法使用get和set方法 二.JAVA的数据类型

网友评论

      本文标题:unity3D,用sqlite中的数据,实例化类

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