我正在尝试将构造函数的分配参数添加到列表中的列表中。
public class assignCells
{
List<List<Vector3>> Cells = new
List<List<Vector3>>();
public assignCells(Vector3 bottom, Vector3 top, Vector3 right, Vector3 left)
{
Type Parm = typeof(assignCells);
Type[] VC = new Type[3];
VC[0] = typeof(Vector3);
VC[1] = typeof(Vector3);
VC[2] = typeof(Vector3);
VC[3] = typeof(Vector3);
ConstructorInfo Constructbase = Parm.GetConstructor(VC);
if (top.x == bottom.x + 20.0 &&
right.x == left.x + 50.0)
{
Cells.Add(Constructbase.GetParameters());
}
}
}
但是,此代码无效。最后一行只是说它不能从参数信息转换为向量列表。即使您必须告诉我我将以完全错误的方式进行操作,我也将非常感谢您的帮助。
答案 0 :(得分:0)
尝试以下操作:
public class assignCells
{
List<List<Vector3>> Cells = new List<List<Vector3>>();
public assignCells(Vector3 bottom, Vector3 top, Vector3 right, Vector3 left)
{
List<Vector3> newListVector3 = new List<Vector3>() { bottom, top, right, left };
Cells.Add(newListVector3);
}
}
答案 1 :(得分:0)
我不太了解您的模型,但我建议您尝试使用此代码
variant
public class AssignCells
{
List<List<ParameterInfo>> Cells = new List<List<ParameterInfo>>();
public AssignCells(Vector3 bottom, Vector3 top, Vector3 right, Vector3 left)
{
Type Parm = typeof(AssignCells);
Type[] VC = new Type[4];
VC[0] = typeof(Vector3);
VC[1] = typeof(Vector3);
VC[2] = typeof(Vector3);
VC[3] = typeof(Vector3);
var Constructbase = Parm.GetConstructor(VC);
if (top.x == bottom.x + 20.0 && right.x == left.x + 50.0)
{
Cells.Add(Constructbase.GetParameters().ToList());
}
}
}
应该是Cells
的列表列表,以避免编译错误。 ParameterInfo
到这里是为了允许从.ToList()
到Array
的转换
希望对您有所帮助!