예제 #1
0
        protected sealed override void WriteCase(string name)
        {
            MemberInfo member = (from property in Properties
                                 where MagickScriptTypes.GetXsdName(property).Equals(name, StringComparison.OrdinalIgnoreCase)
                                 select property).FirstOrDefault();

            if (member == null)
            {
                member = (from overloads in Methods
                          let method = overloads[overloads.Length - 1]
                                       where MagickScriptTypes.GetXsdName(method).Equals(name, StringComparison.OrdinalIgnoreCase)
                                       select method).FirstOrDefault();
            }


            if (ReturnType != "void")
            {
                Write("return ");
            }
            Write("Execute");
            if (member == null)
            {
                Write(char.ToUpper(name[0], CultureInfo.InvariantCulture));
                Write(name.Substring(1));
            }
            else
            {
                Write(GetName(member));
            }
            Write("(");
            if (member == null || !HasParameters(member))
            {
                Write("element, ");
            }
            Write(ExecuteArgument.Split(' ').Last());
            WriteLine(");");
            if (ReturnType == "void")
            {
                WriteLine("return;");
            }
        }
        //===========================================================================================
        private void WriteExecute(IndentedTextWriter writer, string name)
        {
            MemberInfo member = (from property in Properties
                                 where MagickNET.GetXsdName(property).Equals(name, StringComparison.OrdinalIgnoreCase)
                                 select property).FirstOrDefault();

            if (member == null)
            {
                member = (from overloads in Methods
                          let method = overloads[overloads.Length - 1]
                                       where MagickNET.GetXsdName(method).Equals(name, StringComparison.OrdinalIgnoreCase)
                                       select method).FirstOrDefault();
            }


            if (ReturnType != "void")
            {
                writer.Write("return ");
            }
            writer.Write("Execute");
            if (member == null)
            {
                writer.Write(char.ToUpper(name[0]));
                writer.Write(name.Substring(1));
            }
            else
            {
                writer.Write(GraphicsMagickNET.GetName(member));
            }
            writer.Write("(");
            if (member == null || !IsStatic(member))
            {
                writer.Write("element, ");
            }
            writer.Write(ExecuteArgument.Split(' ').Last());
            writer.WriteLine(");");
            if (ReturnType == "void")
            {
                writer.WriteLine("return;");
            }
        }