2009-04-14 9 views
2

Une partie de notre application utilise du code généré avec CodeDom. Ce code n'a pas besoin de commentaires Xml et nous aimerions donc ajouter unComment ajouter #pragma warning disable 1591 avec CodeDom

#pragma warning disable 1591 

aux fichiers générés. Est-ce possible avec CodeDom et si non, alors y a-t-il d'autres suggestions sur la façon d'accomplir cela?

+0

a répondu à cette question? cherche toujours d'autres moyens? avez-vous déjà trouvé une bonne solution? –

Répondre

3
provider.GenerateCodeFromCompileUnit(
    new CodeSnippetCompileUnit("#pragma warning disable 1591"), 
    sourceWriter, options); 
provider.GenerateCodeFromCompileUnit(targetUnit, sourceWriter, options); 
provider.GenerateCodeFromCompileUnit(
    new CodeSnippetCompileUnit("#pragma warning restore 1591"), 
    sourceWriter, options); 

ne se traduit pas bien (du tout) à d'autres langues. YMMV -Ian

0

En regardant à travers tout le code du réflecteur, rien ne s'affiche comme le «bon» moyen. Cependant, il pourrait y avoir un moyen si vous êtes prêt à faire un traitement post-génération. À l'aide de RegionDirective, placez un jeton spécial dans la valeur RegionText. Ensuite, une fois votre code généré, revenez en arrière et faites une chaîne de remplacement.

Comme je n'ai rien vu dans le code qui applique les régions de code correspondantes, vous pouvez avoir une seule région de code de début à la fin pour permettre à nouveau des avertissements.

Par exemple. vos jetons pourraient être "# PRAGMA1591" et "#ENABLEWARNINGS". Par conséquent, une fois le code généré, vous auriez

#region #PRAGMA1591 

... 

#region #WARNINGRESTORE 
#endregion 

Vous pouvez ensuite faire une chaîne remplacer pour obtenir ceci:

#region Disable Warning 1591 
#pragma warning disable 1591 

... 

#pragma warning restore 
#endregion 

Vos cordes se dilatent comme ceci:

  • PRAGMA1591 - > Ignorer le manque de documentation XML \ n avertissement #pragma

    désactiver 1591
  • région #WARNINGSRESTORE -> #pragma warning restaurer

Questions connexes