Unity5-serializedObject.FindProperty("listname") for ReorderableList doesn't work...

I’m writing CustomEditor for ReorderableList of list.But Unity says NullReferenceException.
I find that serializedObject.FindProperty(“listname”) is null.
This is my code.

Element of List

public class TestClass
{
    [UnityEngine.SerializeField]
    public TestEnum com,seccom;
}
public enum TestEnum
{
    up,
    down,
    right,
    left,
}

List

using System.Collections.Generic;
using UnityEngine;

public class ListTest : MonoBehaviour
{
    [SerializeField]
    public List<TestClass> Listtest = new List<TestClass>();
}

ListEditor

using UnityEngine;
using UnityEditor;
using UnityEditorInternal;

[CanEditMultipleObjects]
[CustomEditor(typeof(ListTest))]
public class ListTestEditor : Editor
{
    private ReorderableList RL;
    private SerializedProperty ListProp;

    private void OnEnable()
    {
        //↓doesn't work
        ListProp = serializedObject.FindProperty("Listtest");
        Debug.Log(ListProp);
        //↑return null
        RL = new ReorderableList(serializedObject, ListProp);
        RL.drawElementCallback = (rect, index, isActive, isFocused) =>
        {
            var element = ListProp.GetArrayElementAtIndex(index);
            EditorGUI.PropertyField(rect, element);
        };
    }
    public override void OnInspectorGUI()
    {
        serializedObject.Update();
        RL.DoLayoutList();
        serializedObject.ApplyModifiedProperties();
    }
}

Sorry for my poor English.

TestClass needs to be marked with System.Serializable

@Adam-Mechtley
Thank you! It worked.