Ejemplo n.º 1
0
 //***************************************************************************
 // Class Constructors
 //
 /// <summary>
 /// Provides a simple container and methods for building a CodeDOM-based application.
 /// </summary>
 /// <param name="ProviderType">A value of type CodeDomProviderType indicating the type of code provider to use to generate code within this AosDynaCode object.</param>
 /// <param name="NameSpace">A string value indicating the namespace to use when generating code for this AosDynaCode object.</param>
 public DynaCode(CodeDomProviderType ProviderType, string NameSpace)
 {
     provider = GetProvider(ProviderType);
     nsMain   = new CodeNamespace(NameSpace);
     compileUnit.Namespaces.Add(nsMain);
     nsMain.Imports.Add(new CodeNamespaceImport("System"));
 }
Ejemplo n.º 2
0
 //***************************************************************************
 // Class Constructors
 // 
 /// <summary>
 /// Provides a simple container and methods for building a CodeDOM-based application.
 /// </summary>
 /// <param name="ProviderType">A value of type CodeDomProviderType indicating the type of code provider to use to generate code within this AosDynaCode object.</param>
 /// <param name="NameSpace">A string value indicating the namespace to use when generating code for this AosDynaCode object.</param>
 public DynaCode(CodeDomProviderType ProviderType, string NameSpace)
 {
     provider = GetProvider(ProviderType);
     nsMain = new CodeNamespace(NameSpace);
     compileUnit.Namespaces.Add(nsMain);
     nsMain.Imports.Add(new CodeNamespaceImport("System"));
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Parses the given CodeDomProviderType value, creates, and returns an CodeDomProvider object used to generate and compile code.
        /// </summary>
        /// <param name="pType">A value of type CodeDomProviderType which indicates which type of CodeDomProvider to create.</param>
        /// <returns>A CodeDomProvider object.</returns>
        public static CodeDomProvider GetProvider(CodeDomProviderType pType)
        {
            switch ((int)pType)
            {
            case 0:
                return(new CSharpCodeProvider());

            case 1:
                return(new VBCodeProvider());

            case 2:
                return(new JScriptCodeProvider());

            default:
                return(new CSharpCodeProvider());
            }
        }
Ejemplo n.º 4
0
        public CodeDomProvider CreateProvider(IDictionary <String, String> providerOptions)
        {
            if (providerOptions == null)
            {
                throw new ArgumentNullException("providerOptions");
            }

            ConstructorInfo constructor = CodeDomProviderType.GetConstructor(new Type[] { typeof(IDictionary <string, string>) });

            if (constructor != null)
            {
                return((CodeDomProvider)constructor.Invoke(new object[] { providerOptions }));
            }
            else
            {
                throw new InvalidOperationException(string.Format(SR.Provider_does_not_support_options, CodeDomProviderType.ToString()));
            }
        }
Ejemplo n.º 5
0
        public CodeDomProvider CreateProvider()
        {
            // if the provider defines an IDictionary<string, string> ctor and
            // provider options have been provided then call that and give it the
            // provider options dictionary.  Otherwise call the normal one.

            Debug.Assert(_providerOptions != null, "Created CompilerInfo w/ null _providerOptions");

            if (_providerOptions.Count > 0)
            {
                ConstructorInfo ci = CodeDomProviderType.GetConstructor(new Type[] { typeof(IDictionary <string, string>) });
                if (ci != null)
                {
                    return((CodeDomProvider)ci.Invoke(new object[] { _providerOptions }));
                }
            }

            return((CodeDomProvider)Activator.CreateInstance(CodeDomProviderType));
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Parses the given CodeDomProviderType value, creates, and returns an CodeDomProvider object used to generate and compile code.
 /// </summary>
 /// <param name="pType">A value of type CodeDomProviderType which indicates which type of CodeDomProvider to create.</param>
 /// <returns>A CodeDomProvider object.</returns>
 public static CodeDomProvider GetProvider(CodeDomProviderType pType)
 {
     switch ((int)pType)
     {
         case 0:
             return new CSharpCodeProvider();
         case 1:
             return new VBCodeProvider();
         case 2:
             return new JScriptCodeProvider();
         default:
             return new CSharpCodeProvider();
     }
 }