我的工作流 (xaml) 的参数之一是在静态类中声明的嵌套类型。不幸的是,无论我搜索什么,“浏览 .NET 类型”对话框都不会显示这种类型
full.namespace.containingstaticlass.typeIneed
或者
full.namespace.containingstaticlass+typeIneed
由于对话框不起作用,我尝试编辑 xaml 本身,但无法弄清楚如何定义
Type="InArgument(xmlnamespacetomyassembly:???)"
帮助!?
编辑:似乎工作流设计器根本不适用于嵌套类型,因为将对象转换为嵌套类型的表达式给了我这个错误。
在这一点上,任何解决方法都将受到欢迎!
添加了一个显示问题的简单示例。
- 无法添加 NestedType.EssentialStruct 类型的参数(在设计器中)
- 即使您针对任何 InArgument 在属性窗口中添加将 Object 强制转换为 NestedType.EssentialStruct 的表达式,设计者也会抱怨。
还发布相关部分:
CodeActivity中需要用到的嵌套类型
public static class NestedTypes
{
public struct EssentialStruct
{
}
}
使用嵌套类型作为 InArgument 和结果的简单活动
public sealed class TestActivity : CodeActivity<NestedTypes.EssentialStruct>
{
public InArgument<NestedTypes.EssentialStruct> Handle
{
get;
set;
}
protected override NestedTypes.EssentialStruct Execute(CodeActivityContext context)
{
return context.GetValue(this.Handle);
}
}
我无法发布产生错误的 XAML,因为设计者没有保存它,在保存它之前就出错了。