VB.NET中的内联LINQ注释

时间:2012-10-19 20:17:40

标签: vb.net linq

有没有办法在VB.NET中的LINQ中插入内联代码注释?

请参阅下面的第2行,作为内联评论的理由示例

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
    )

这在SQL代码中是微不足道的,坦率地说,当SP变得复杂时非常有用。能够在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)

3 个答案:

答案 0 :(得分:7)

好的伙计们,这是正式答案 - 在VB中不可能。 Proof

  

在VB中真的很烦人,你无法添加内联注释   多行LINQ语句!

更多信息:

  

坏消息是,实施这一点并非易事。   关于单行和注释的限制内置于当前   VB解析器太低了。它需要完全重写   VB解析器。

     

好消息是我们已经开始进行这样的重写(代号为   “罗斯林” - 有几篇文章和谈论它。它的   仍有一段距离,我们没有做出什么/什么时候做出承诺   这个阶段。

     

- Lucian Wischik,VB语言PM

答案 1 :(得分:1)

VB.NET 14引入了内联注释的功能(link)。

  

您可以在隐式行连续,初始化表达式内部以及LINQ表达式术语之后放置注释。

答案 2 :(得分:0)

如果

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

不起作用,那是不可能的。