private void TryWriteApply() { if (!_applyOpened) { _applyOpened = true; IDisposable blockDisposable; var delegateString = _delegateType.HasValue() ? "(" + _delegateType + ")" : ""; if (_applyPrefix != null) { blockDisposable = _source.BlockInvariant(".{0}_XamlApply({2}({1} => ", _applyPrefix, _closureName, delegateString); } else { blockDisposable = _source.BlockInvariant(".Apply({1}({0} => ", _closureName, delegateString); } _applyDisposable = new DisposableAction(() => { blockDisposable.Dispose(); _source.AppendLineInvariant("))"); }); } }
/// <summary> /// Outputs SuppressMessage attributes using the provided <see cref="IndentedStringBuilder"/>, and a list of suppressions. /// </summary> /// <param name="writer">An <see cref="IndentedStringBuilder"/> instance.</param> /// <param name="analyzerSuppressions">A list of analyzers definitions in the format of "Category|AnalyzerId"</param> internal static void Generate(IIndentedStringBuilder writer, string[] analyzerSuppressions) { var suppresses = from suppress in analyzerSuppressions let parts = suppress.Split('|', '-') where parts.Length == 2 let category = parts[0] let id = parts[1] select "[global::System.Diagnostics.CodeAnalysis.SuppressMessage(\"{0}\", \"{1}\", Justification=\"Generated code\")]".InvariantCultureFormat(category, id); foreach (var suppress in suppresses) { writer.AppendLineInvariant(suppress); } }
/// <summary> /// Outputs #pragma warning disable statements using the provided <see cref="IndentedStringBuilder"/>, and a list of suppressions. /// </summary> /// <param name="writer">An <see cref="IndentedStringBuilder"/> instance.</param> /// <param name="analyzerSuppressions">A list of analyzers definitions in the format of "Category|AnalyzerId"</param> internal static void GenerateCSharpPragmaSupressions(IIndentedStringBuilder writer, string[] analyzerSuppressions) { var suppresses = from suppress in analyzerSuppressions let parts = suppress.Split('|', '-') where parts.Length == 2 let category = parts[0] where category == "csharp" let id = parts[1] select $"#pragma warning disable {id}"; foreach (var suppress in suppresses) { writer.AppendLineInvariant(suppress); } }