void TestClassFields()
    {
        FieldInfo[] fields2 = typeof(TestClass2).GetFields();

        foreach (FieldInfo field in fields2)
        {
            FmDbField dbAnnotation = Attribute.GetCustomAttribute(field, typeof(FmDbField)) as FmDbField;

            if (dbAnnotation != null)
            {
                //later... save to db
                Debug.Log(field.Name);
            }
        }
    }
    private List <FieldInfo> getObjectDbFields(object obj)
    {
        FieldInfo[] fields = obj.GetType().GetFields();

        List <FieldInfo> outList = new List <FieldInfo>();

        foreach (FieldInfo field in fields)
        {
            FmDbField dbAnnotation = Attribute.GetCustomAttribute(field, typeof(FmDbField)) as FmDbField;

            if (dbAnnotation != null)
            {
                outList.Add(field);
            }
        }
        return(outList);
    }