예제 #1
0
파일: WFHelper.cs 프로젝트: vantk85/openrpa
        //public static System.Activities.ActivityWithResult TryCreateLiteral(Type type, string expressionText)
        //{
        //    var ActivityDesignerAsm = typeof(System.Activities.Presentation.ActivityDesigner).Assembly;
        //    var types = ActivityDesignerAsm.GetTypes();
        //    var ExpressionHelper = types.Where(x => x.Name == "ExpressionHelper").FirstOrDefault();
        //    var ParserContext = types.Where(x => x.Name == "ParserContext").FirstOrDefault();

        //    object context = Activator.CreateInstance(ParserContext);

        //    var TryCreateLiteralMethod = ExpressionHelper.GetMethods(BindingFlags.Static | BindingFlags.NonPublic).Where(x => x.Name == "TryCreateLiteral").FirstOrDefault();
        //    var o = TryCreateLiteralMethod.Invoke(ExpressionHelper, new object[] { type, expressionText, context });
        //    return o as System.Activities.ActivityWithResult;
        //}
        public static void AddVBNamespaceSettings(System.Activities.ActivityBuilder rootObject, string[] namespaces, params Type[] types)
        {
            var rootElement = rootObject.Implementation;
            var vbsettings  = Microsoft.VisualBasic.Activities.VisualBasic.GetSettings(rootObject);

            if (vbsettings == null)
            {
                vbsettings = new Microsoft.VisualBasic.Activities.VisualBasicSettings();
            }
            foreach (var name in namespaces)
            {
                var import = new Microsoft.VisualBasic.Activities.VisualBasicImportReference()
                {
                    Import = name
                };
                vbsettings.ImportReferences.Add(import);
            }
            foreach (Type t in types)
            {
                vbsettings.ImportReferences.Add(
                    new Microsoft.VisualBasic.Activities.VisualBasicImportReference
                {
                    Assembly = t.Assembly.GetName().Name,
                    Import   = t.Namespace
                });
            }
            Microsoft.VisualBasic.Activities.VisualBasic.SetSettings(rootObject, vbsettings);
        }
예제 #2
0
 public static void AddNamespaceSettings(object rootObject, params Type[] types)
 {
     Microsoft.VisualBasic.Activities.VisualBasicSettings vbsettings = Microsoft.VisualBasic.Activities.VisualBasic.GetSettings(rootObject);
     foreach (Type t in types)
     {
         vbsettings.ImportReferences.Add(
             new Microsoft.VisualBasic.Activities.VisualBasicImportReference
         {
             Assembly = t.Assembly.GetName().Name,
             Import   = t.Namespace
         });
     }
     Microsoft.VisualBasic.Activities.VisualBasic.SetSettings(rootObject, vbsettings);
 }