Your problem is here:
public string[] Parametri
{
get {return Parametri;}
}
Notice that you are returning the property itself. Then the getter of the property is running. Getter returns the property itself. Then the getter of the property is running. Getter returns the property itself. Then the..... And stack overflow.
Just don't return the property itself in the getter. I think that you wanted to do something like this:
public string[] Parametri {get; private set;}
or like this:
string[] parametri;
public string[] Parametri
{
get { return parametri; }
}
Notice that I don't return here the property itself, just the value connected with the property.