我通过以下代码收到以下错误消息。我不确定这是否与Grasshopper内核有关,或者我是否正确编写DataAccess.GetDataList()
方法。我希望你能提供帮助。
The type arguments for method 'Grasshopper.Kernel.IGH_DataAccess.GetDataList<T>(int, System.Collections.Generic.List<T>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
代码:
protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
{
pManager.AddTextParameter("SomeString", "SS", "Send Some String Somwhere", GH_ParamAccess.list); //0
}
protected override void SolveInstance(IGH_DataAccess DA)
{
string SomeString = default(string);
DA.GetDataList(0, ref SomeString);
if (!DA.GetDataList(0, ref SomeString)) return;
}
答案 0 :(得分:2)
错误说该函数需要int
和List<T>
,但您提供的是int
和string
。您也不需要ref
修饰符。
你需要做这样的事情:
List<string> someStrings = new List<string>();
if(! DA.GetDataList(0, someStrings)) return;