Exemple #1
0
        public CodeProperty CreateProperty(string name, Type returnType, MethodAttributes methodAttributes, params Type [] parameterTypes)
        {
            CodeProperty prop = new CodeProperty(this, GetPropertyName(name), PropertyAttributes.None, methodAttributes, returnType, parameterTypes);

            properties.Add(prop);
            return(prop);
        }
Exemple #2
0
        public void PrintCode(CodeWriter cw)
        {
            for (int n = 0; n < customAttributes.Count; n++)
            {
                CodeCustomAttribute cca = customAttributes [n] as CodeCustomAttribute;
                if (n > 0)
                {
                    cw.WriteLine("");
                }
                cca.PrintCode(cw);
            }

/*			if ((typeBuilder.Attributes & TypeAttributes.Abstract) != 0) cw.Write ("abstract ");
 *                      if ((typeBuilder.Attributes & TypeAttributes.NestedAssembly) != 0) cw.Write ("internal ");
 *                      if ((typeBuilder.Attributes & TypeAttributes.NestedPrivate) != 0) cw.Write ("private ");
 */         if ((typeBuilder.Attributes & TypeAttributes.Public) != 0)
            {
                cw.Write("public ");
            }
            cw.Write("class ").Write(typeBuilder.Name);

            bool dots = false;

            if (baseType != null && baseType != typeof(object))
            {
                cw.Write(" : " + baseType);
                dots = true;
            }

            if (interfaces != null && interfaces.Length > 0)
            {
                if (!dots)
                {
                    cw.Write(" : ");
                }
                else
                {
                    cw.Write(", ");
                }
                for (int n = 0; n < interfaces.Length; n++)
                {
                    if (n > 0)
                    {
                        cw.Write(", ");
                    }
                    cw.Write(interfaces[n].ToString());
                }
            }

            cw.EndLine().WriteLineInd("{");

            foreach (FieldInfo f in fields)
            {
                cw.BeginLine();
                ArrayList atts = (ArrayList)fieldAttributes [f];
                foreach (CodeCustomAttribute a in atts)
                {
                    a.PrintCode(cw);
                }
                if ((f.Attributes & FieldAttributes.Static) != 0)
                {
                    cw.Write("static ");
                }
                cw.Write(f.FieldType.Name + " ");
                cw.Write(f.Name + ";");
                cw.EndLine();
                cw.WriteLine("");
            }

            for (int n = 0; n < properties.Count; n++)
            {
                CodeProperty prop = properties [n] as CodeProperty;
                if (n > 0)
                {
                    cw.WriteLine("");
                }
                prop.PrintCode(cw);
            }

            for (int n = 0; n < methods.Count; n++)
            {
                CodeMethod met = methods[n] as CodeMethod;
                if (n > 0)
                {
                    cw.WriteLine("");
                }
                met.PrintCode(cw);
            }
            cw.WriteLineUnind("}");
        }
Exemple #3
0
		public CodeProperty CreateProperty (string name, Type returnType, MethodAttributes methodAttributes, params Type [] parameterTypes)
		{
			CodeProperty prop = new CodeProperty (this, GetPropertyName (name), PropertyAttributes.None, methodAttributes, returnType, parameterTypes);
			properties.Add (prop);
			return prop;
		}