首先,免责声明我是C#的新手。我试图在同一个Visual Studio解决方案中将wkflow_param
的值提供给另一个项目,然后将wkflow_param
传递给该另一个项目中的函数。当我运行与此代码相关的解释器并转到"return wkflow_param"
时,我将鼠标悬停在它上面并显示"wkflow_param = 'conceptual_manufacturing'
(这是正确的值,我已将其设置在另一个程序中)。
如果我切换到第二个项目并将鼠标悬停在GeneratePostProcessingScript(wkflow_param)
上,则会显示wkflow_param = 'conceptual_manufacturing'
,所以我知道该部分是正确的。但是,在我通过这一点并进入另一个项目后,wkflow_param
返回为null - 而且我不确定它为什么会突然切换
public partial class Interpreter
{
private string ManufacturingGeneration(MgaFCO currentobj)
{
foreach (var wf_item in tb.Children.WorkflowRefCollection)
{
string TB_child_item_name = wf_item.Name;
var workflow_item = wf_item.ReferencedBy;
foreach (var task_item in wf_item.Referred.Workflow.Children.TaskCollection)
{
string TaskName = task_item.Name;
string wkflow_param = (task_item.Attributes.Parameters).ToLower();
return wkflow_param;
}
}
}
}
另一个项目的结构如下:
public partial class Interpreter : IMgaComponentEx
{
public void InvokeEx(MgaProject project,
MgaFCO currentobj,
MgaFCOs selectedobjs,
int param)
{
GeneratePostProcessingScript(wkflow_param);
}
}
我已经删除了很多代码,因为它有数百行,但我相信这是告诉出错的所有必要信息。
答案 0 :(得分:1)
这句话
返回wkflow_param;
应该在
结束之后foreach(tb.Children.WorkflowRefCollection中的var wf_item)