2012-10-19 12 views
5

VB.NETのLINQにインラインコードコメントを挿入する方法はありますか?VB.NETのインラインLINQコメント

インラインコメントは、SPのは、複雑になるので、これは、SQLコード内の些細なと率直に言って、非常に便利です

Dim Jobs = (From X In DB.Jobs_Select(SearchStr, RequiresFilter) 
    Where X.JobStatusID < 2 -- **** INSERT INLINE COMMENT HERE **** 
    Order By 
     X.JobPriorityID Descending, 
     If(X.TargetDate, Date.MaxValue), 
     X.NeedsLit Descending, 
     X.HasOldArtRequests Descending, 
     X.HasOldLicRequests Descending 
    ) 

が望ましいであろう場所の例として、以下では2行目を参照してください。 LINQ to SQLで同じ開発者間コミュニケーションを実行できるのはうれしいことです。

更新

これはあなたのためのテスト条件です。

Dim L As New List(Of KeyValuePair(Of Integer, Integer)) 

Dim a = (From X In L 
      Where X.Key > 5 'test comment 
      Order By X.Value) 
+2

'' 'と一緒に使用できませんか? –

+0

いいえ、その場所にアポストロフィを挿入してコンパイルエラーを発生させます。 –

+0

@BrianWebster:軽いクエリで動作します。私たちがテストするためにVSにペーストできるもので質問を更新できますか? – Neolisk

答えて

7

ここでは公式の回答です。VBではできません。 Proof

複数行のLINQステートメントにインラインコメントを追加できないのは本当にVBで面倒です!

そして、より多くの情報:

悪いニュースは、これが実現するのは簡単ではないだろうということです。 現在の VBパーサーには、単一行とコメントに関する制限が組み込まれています。 VBパーサー の完全な書き換えが必要です。

良いニュースは、私たちがこのような書き直しを開始したことです(コードネーム: "Roslyn" - それについてのいくつかの記事と話があります)。それはまだ です。この段階で に何時を約束しているわけではありません。

- ルシアンWischik、VB言語のPMが

+0

良い発見、ありがとうNeo –

+1

私はあまりにも時間を見つけた。 3分前にネオの答えに編集しました。私は究極的には学びたかったのですが、それは良い情報です。 –

+0

@BrianWebster:あなたは大歓迎です! Hope Roslynは.NET言語の間にある程度の匹敵をもたらします。 – Neolisk

0

Where X.JobStatusID < 2 ' **** INSERT INLINE COMMENT HERE **** 

が、それは可能ではないですが、動作しない場合。

+0

これはVS2010では機能しません。 LINQ文が終了した後に置かれた場合にのみ動作しますが、それがインラインコメントについて質問している理由です –

+1

うわー。期待していないVBから。 – Alex

+0

@Alex:ええ、私も。 – Neolisk

1

VB.NET 14は、インラインコメント(link)を作成する機能が導入されました。

暗黙の行継続の後、初期化式の中、およびLINQ式の用語の間にコメントを挿入できます。