5

次のフォーマットを使用してxmlを作成するのが好きです。

XDocument xml = new XDocument(
   new XElement("Root",
      new XElement("A",
         new XAttribute("X", xValue),
         new XAttribute("Y", yValue)),
      new XElement("B",
         new XAttribute("Z", zValue)),
      new XElement("C")));

読みやすく、タブ付きのXMLドキュメントのように流れます(私の意見では)。ただし、StyleCopはフォーマットに非常に不満を持っています。これらのエラーがたくさん発生します。

SA1116:メソッドパラメータが別々の行にある場合、最初のパラメータはメソッド名の下の行から開始する必要があります。

SA1118:パラメータが複数行にまたがっています。パラメータが短い場合は、パラメータ全体を1行に配置します。それ以外の場合は、パラメーターの内容を一時変数に保存し、一時変数をパラメーターとして渡します。

StyleCopを満足させ、コードを読みやすくするために何ができますか?StyleCopルールを無効にできることは知っていますが、チームはXML以外のすべての作成コードに対してそれらのルールを保持したいと考えています。この方法でXMLを作成するすべてのメソッドでルールを選択的に抑制することができますが、それは苦痛のように思え、醜くなります。助言がありますか?

4

1 に答える 1

2

はい、私は次のことを提案します:

  • プロジェクトの「デフォルトリソース」を作成します(プロジェクトを右クリック、[プロパティ]、[リソース])
  • そこで新しい文字列リソースを作成し、名前をDefaultXmlDocなどに設定します
  • 値を次のテキストとして設定します。
    <Root>
    <A X="1" Y="2" />
    <B Z="3" />
    <C />
    </Root>
  • プログラムを次のワンライナーに変更します。
    XDocument xml = XDocument.Parse( Properties.Resources.DefaultXmlDoc );

これですべての目標が達成されると思います。

于 2010-08-06T17:17:56.773 に答える