public override void WriteAssemblyAttribute(SolutionFile File, SolutionProjectLanguageAttribute Attribute, SolutionBuilder Context) { File.Write("<"); File.Write(Keywords.Assembly); File.Write(": "); this.WriteTypeName(File, Attribute.Type); File.Write("("); var args = new List <Action>(); if (Attribute.Parameters != null) { args.AddRange( from item in Attribute.Parameters select(Action) delegate { this.WritePseudoExpression(File, item, Context); } ); } if (Attribute.Properties != null) { args.AddRange( from item in Attribute.Properties.ToArray() select(Action) delegate { this.WritePseudoCallExpression(File, new PseudoCallExpression { IsAttributeContext = true, Method = item.Key, ParameterExpressions = new[] { item.Value } }, Context ); } ); } Action Separator = delegate { File.Write(", "); }; var BeforeSeparator = args.ToArray(); var AfterSeparator = BeforeSeparator.SelectWithSeparator(Separator).ToArray(); AfterSeparator.Invoke(); File.Write(")"); File.Write(">"); File.WriteLine(); }
public override void WriteAssemblyAttribute(SolutionFile File, SolutionProjectLanguageAttribute Attribute, SolutionBuilder Context) { File.Write("["); File.Write(Keywords.assembly); File.Write(": "); this.WriteTypeName(File, Attribute.Type); File.Write("("); var args = new List<Action>(); if (Attribute.Parameters != null) { args.AddRange( from item in Attribute.Parameters select (Action)delegate { this.WritePseudoExpression(File, item, Context); } ); } if (Attribute.Properties != null) { args.AddRange( from item in Attribute.Properties.ToArray() select (Action)delegate { this.WritePseudoCallExpression(File, new PseudoCallExpression { Method = item.Key, ParameterExpressions = new[] { item.Value } }, Context ); } ); } Action Separator = delegate { File.Write(", "); }; var BeforeSeparator = args.ToArray(); var AfterSeparator = BeforeSeparator.SelectWithSeparator(Separator).ToArray(); AfterSeparator.Invoke(); File.Write(")"); File.Write("]"); File.WriteLine(); }
public override void WriteAssemblyAttribute(SolutionFile File, SolutionProjectLanguageAttribute Attribute, SolutionBuilder Context) { // http://msdn.microsoft.com/en-us/library/dd233179.aspx File.WriteIndent(); File.Write("["); File.Write("<"); File.Write(Keywords.assembly); File.Write(": "); this.WriteTypeName(File, Attribute.Type); File.Write("("); var args = new List<Action>(); if (Attribute.Parameters != null) { args.AddRange( from item in Attribute.Parameters select (Action)delegate { this.WritePseudoExpression(File, item, Context); } ); } if (Attribute.Properties != null) { args.AddRange( from item in Attribute.Properties.ToArray() select (Action)delegate { this.WritePseudoCallExpression(File, new PseudoCallExpression { IsAttributeContext = true, Method = item.Key, ParameterExpressions = new[] { item.Value } } , Context ); } ); } Action Separator = delegate { File.Write(","); File.WriteSpace(); }; var BeforeSeparator = args.ToArray(); var AfterSeparator = BeforeSeparator.SelectWithSeparator(Separator).ToArray(); AfterSeparator.Invoke(); File.Write(")"); File.Write(">"); File.Write("]"); File.WriteSpace(); File.Write(Keywords.@do); File.Write("()"); File.WriteLine(); }