non-delegate type 'int'

i got error in this line please tell me what should i do now

private void SpawnTile(int prefabIndex=-1)
{
go = Instantiate (tilePrefabs[RandomPrefabIndex]) as GameObject;
}

private int RandomPrefabIndex()
{
if (tilePrefabs.Length <= 1)
return 0;
int randomIndex = lastPrefabIndex;
while (randomIndex == lastPrefabIndex) {
randomIndex = Random.Range (0, tilePrefabs.Length);
}
lastPrefabIndex = randomIndex;
return randomIndex;
}

Cannot convert method group ‘RandomPrefabIndex’ to non-delegate type ‘int’. Did you intend to invoke the method?

As the error says, you intended to invoke the method RandomPrefabIndex to generate an int to return from the tilePrefabs array. And invoking a method requires round brackets after the method name:

go = Instantiate (tilePrefabs[RandomPrefabIndex()]) as GameObject; }