使用SymbolResolver在Activity内访问宿主环境信息

简介:

宿主环境内有这样一个数据,如下:

public class MyObject
    {
        public int MyValue { get; set; }
        public string MyString { get; set; }
    }

 

在Activity内访问该对象实例的方法如下:

public sealed class SymbolUser : CodeActivity
    {
        protected override void Execute(CodeActivityContext context)
        {
            SymbolResolver symbolResolver = context.GetExtension<SymbolResolver>();
            MyObject obj = symbolResolver["CustomObject"] as MyObject;
            Console.WriteLine(obj.MyString);
        }

    }

 

宿主的代码如下:

class Program
    {
        static void Main(string[] args)
        {
            WorkflowApplication WFApp = new WorkflowApplication(new Workflow1());
            SymbolResolver symbolResolver = new SymbolResolver();
            WFApp.Extensions.Add(symbolResolver);
            symbolResolver.Add("CustomObject", new MyObject() { MyValue = 1, MyString = "TestString" });
            WFApp.Run();
            Console.ReadLine();

        }
    }

当SymbolUser Activity执行的时候就可以得到new MyObject()的属性信息了。

 

本文转自生鱼片博客园博客,原文链接:http://www.cnblogs.com/carysun/archive/2011/03/11/wf4-SymbolResolver.html,如需转载请自行联系原作者

 

 

相关文章
|
容器
imsdroid启动Activity的方式很独特
imsdroid启动Activity的方式很独特
49 0
|
人工智能 算法 Android开发
Android自动化中动态设置网络代理
由于现在很多应用的页面数据都是AI算法推荐生成的,所以每次打开同一个页面数据都会不一样,因此在做客户端UI自动化的过程中都会采用Mock方案,利用MockServer来提供稳定的测试数据,其中MockServer的代理需要手动配置。 拿Android手机举例,过程大致是:进入设置->进入 WLAN ->找对应 wifi 连接->进入详情->找到代理->选择手动->输入主机名->输入端口号->最后保存,可以看到每次都是重复操作,特别当你的自动化设备很多以及MockServer服务不稳定导致IP经常变的情况下累加的时间成本是很高的,而且一不小心,还有可能写错
383 0
Android自动化中动态设置网络代理
|
安全 C++ Windows
C++调用外部应用程序的方法的整理总结(常用)
一、三个SDK函数:  WinExec,ShellExecute ,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂。
2789 0
|
Android开发
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )
167 0
|
Web App开发 编解码 iOS开发
在 Mac 系统上如何打开同一个应用程序的多个实例?
了解音视频分析工具的小伙伴,一定都知道 MediaInfo,它是一款非常实用的视频参数检测工具,除了可以对视频进行编码分析查询外,还可以对音频文件的编码及信息进行检测,最重要的是这款工具软件是免费的,在 mac OS 系统上此类工具是不常见的,另外,它也有 windows 版本。
494 0
|
C#
C#让应用程序只运行一个实例的几种方法
一 判断是否有相同的实例已经运行 1 根据“Mutex”判断是否有相同的实例在运行 /// 已有实例运行返回true,否则为falsepublic bool IsRunningProcessByMutex(){     bool createNew;     using (System.
870 0
|
新零售 区块链
共享链小程序系统解析
如果说你看到了----这套系统模式的优势,那你会是想要自己也做一个类似的系统模式,自己来操作,看到一个系统模式的优势所在你就是他的领航者。
1542 0