我的工作流(xaml)的一个参数是在静态类中声明的嵌套类型。不幸的是,无论我搜索什么
,“浏览.NET类型”对话框都不会显示此类型 full.namespace.containingstaticlass.typeIneed
或
full.namespace.containingstaticlass+typeIneed
由于对话框不起作用,我尝试编辑xaml本身,但无法弄清楚如何定义
Type="InArgument(xmlnamespacetomyassembly:???)"
帮助!?
编辑:似乎工作流设计器根本不能使用嵌套类型,因为将对象强制转换为嵌套类型的表达式给了我这个错误。
此时,欢迎任何变通方法!
添加了显示问题的simple sample。
还发布相关部分:
需要在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,因为设计师没有保存它,在保存之前就出错了。
答案 0 :(得分:0)
您需要在工作流程上使用导入。这是设计师的标签。它紧挨着变量和参数。
答案 1 :(得分:0)
检查引用的程序集是否在x86(或任何CPU)中构建。我遇到了同样的问题,事实证明引用的DLL是x64,这使得Visual Studio设计者无法看到它。