Пример #1
0
        protected static object GetVisualBasicTestObject()
        {
            if (s__visualBasicTestObjectType == null)
            {
                // compile vb test class
                string vbSourceCode = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream(typeof(BasePropertyTests), "SafePropertyTests_TestObject.vb")).ReadToEnd();

                CompilerParameters args = new CompilerParameters();
                args.OutputAssembly          = "VbTestObject.dll";
                args.GenerateInMemory        = true;
                args.GenerateExecutable      = false;
                args.IncludeDebugInformation = true;

                CodeDomProvider provider = CodeDomProvider.CreateProvider("VisualBasic");
                CompilerResults results  = provider.CompileAssemblyFromSource(args, vbSourceCode);

                if (results.Errors.HasErrors)
                {
                    StringBuilder sb = new StringBuilder();
                    foreach (CompilerError error in results.Errors)
                    {
                        sb.Append(error.ToString()).Append("\n\r");
                    }
                    throw new TypeLoadException("failed compiling test class: " + sb);
                }
                s__visualBasicTestObjectType = results.CompiledAssembly.GetType("VbTestObject");
                ThisLastPropertyValue        = DynamicField.Create(s__visualBasicTestObjectType.GetField("ThisLastPropertyValue"));
                ThisArg1        = DynamicField.Create(s__visualBasicTestObjectType.GetField("ThisArg1"));
                ThisArg2        = DynamicField.Create(s__visualBasicTestObjectType.GetField("ThisArg2"));
                ThisOptionalArg = DynamicField.Create(s__visualBasicTestObjectType.GetField("ThisOptionalArg"));
                ThisParamsArg   = DynamicField.Create(s__visualBasicTestObjectType.GetField("ThisParamsArgs"));
            }

            object s__visualBasicTestObject = Activator.CreateInstance(s__visualBasicTestObjectType);

            return(s__visualBasicTestObject);
        }
Пример #2
0
 protected virtual IDynamicField Create(FieldInfo field)
 {
     return(DynamicField.Create(field));
 }