Arrays don't show up on inspector

I have these two classes and both of them don’t show up the arrays on inspector. Does someone can help me out why?

public class TowerSystemManager : MonoBehaviour
{
public LevelTowerSystemController towerType = new LevelTowerSystemController[ 4 ];
}

[System.Serializable]
public class LevelTowerSystemController : MonoBehaviour 
{
	public GameObject[] towerLevel = new GameObject[ 2 ];
	 
	public GameObject this[ int i ]
	{
		get
		{
			return towerLevel[ i ];
		}
		set
		{
			towerLevel[ i ] = value;
		}
	}

	public int Length
	{
		get
		{
			return towerLevel.Length;
		}
	}
}

Create two different scripts
1)TowerSystemManager.cs

using UnityEngine;
using System.Collections;

public class TowerSystemManager : MonoBehaviour
{

	public LevelTowerSystemController[] towerType;
}
  1. LevelTowerSystemController.cs

    using UnityEngine;
    using System.Collections;

    [System.Serializable]
    public class LevelTowerSystemController : TowerSystemManager{
    public GameObject towerLevel = new GameObject[ 2 ];

     public GameObject this [int i] {
     	get {
     		return towerLevel *;*
    
  •  }*
    
  •  set {*
    

_ towerLevel = value;_
* }*
* }*

* public int Length {*
* get {*
* return towerLevel.Length;*
* }*
* }*
}
showed me this on inspector [50515-b.png|50515]_
_