Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 593
  • Last Modified:

Convert VB.NET LINQ code to C#

Convert VB.NET LINQ code to C#
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        Dim revisioni = From revisione As Word.Revision In Me.Revisions _
                        Where revisione.Author = "MeBoys" _
                        Order By revisione.Date Descending _
                        Select revisione.Range.Text
 
        Dim risultato As String = String.Empty
 
        For Each rev In revisioni
            risultato += String.Concat(rev, Environment.NewLine)
        Next
 
        MessageBox.Show(risultato)
    End Sub

Open in new window

0
Vivek Thangaswamy
Asked:
Vivek Thangaswamy
  • 4
  • 3
  • 2
2 Solutions
 
naspinskiCommented:
This should do it, I just didn't know what class to include in the foreach.  It will be one that your dbml produced:
var revisioni = from revisione in Me.Revisions where revisione.Author.Equals("MeBoys") orderby revisione.Date descending select revisione.Range;
 
string risultato  = string.Empty;
 
foreach(REVISION rev in revisioni)//I am not sure what class you are using here, you will have to change REVISION on this one
    risultato += String.Concat(rev, Environment.NewLine);
 
MessageBox.Show(risultato);

Open in new window

0
 
Vivek ThangaswamyAuthor Commented:
'Me' does not exist in the current context compilation error
and when i change it 'this'

Error      1      Could not find an implementation of the query pattern for source type 'Microsoft.Office.Interop.Word.Revisions'.  'Where' not found.  Consider explicitly specifying the type of the range variable 'revisione'.      ""      42      47      
0
 
naspinskiCommented:
sorry, forgot to change me to this.

Where is incorrect, it is 'where' in c# - case-sensitive
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Vivek ThangaswamyAuthor Commented:
'where'  its in correctly return as starting with small letter w
even i'm getting the same error

for more this is wht i'm tring to convert
http://www.vbdotnetheaven.com/UploadFile/progalex/LINQWord2007VSTO03082008194003PM/LINQWord2007VSTO.aspx
0
 
naspinskiCommented:
i have never seen anyone use 'this' as a reference so I am not following 100% I dont think.  Do you have a DBML?  or how are you connecting to your data?
0
 
Vivek ThangaswamyAuthor Commented:
No.. this will read the Word File properties and read the properties....
0
 
naspinskiCommented:
I am sorry, I have never used word interop with linq before.
0
 
used2couldCommented:
Does this work?
        private void Button1_Click(object sender, EventArgs e)
        {
            var revisioni = (from revisione in this.Revisions
                             where revisione.Author == "MeBoys"
                             orderby revisione.Date descending
                             select revisione.Range.Text
                                 );
            StringBuilder risultato = new StringBuilder();
            foreach (var rev in revisioni)
            {
                risultato.Append(string.Concat(rev,Environment.NewLine));
            }
 
            System.Windows.Forms.MessageBox.Show(risultato.ToString());
        }

Open in new window

0
 
used2couldCommented:
Sorry Master, i ended up posting pretty much what you posted.
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

  • 4
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now