Ciao,
per il parametro faces devi usare il tipo IList<T> :
codice:
publicboolIsOn<T>(int i,IList<T> faces,Vector3 L,float closed)
{
bool res =false;
Vector3 NP =My.Discovery.Position- L - faces[i].nodes[0];
Vector3 v1 =Vector3.Normalize(faces[i].V1);
Vector3 v2 =Vector3.Normalize(faces[i].V2);
if((Vector3.Dot(NP, faces[i].Normal)>My.Q2)&(Vector3.Dot(NP, faces[i].Normal)< closed))
if((Vector3.Dot(NP, v1)>0)&(Vector3.Dot(NP, v1)< faces[i].V1.Length()))
if((Vector3.Dot(NP, v2)>0)&(Vector3.Dot(NP, v2)< faces[i].V2.Length()))
res =true;
return res;
}
EDIT :
per capire il perché, è sufficiente pensare che T è un tipo, T[] (in caso) sarebbe un tipo diverso che deriva da IList<T>, ovvero un array di T, non un tipo T e basta.