Solved

Convert VB.NET LINQ code to C#

Posted on 2008-06-10
9
588 Views
Last Modified: 2013-12-17
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
Comment
Question by:Vivek Thangaswamy
  • 4
  • 3
  • 2
9 Comments
 
LVL 21

Assisted Solution

by:naspinski
naspinski earned 225 total points
ID: 21754038
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
 
LVL 11

Author Comment

by:Vivek Thangaswamy
ID: 21760427
'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
 
LVL 21

Expert Comment

by:naspinski
ID: 21760605
sorry, forgot to change me to this.

Where is incorrect, it is 'where' in c# - case-sensitive
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
LVL 11

Author Comment

by:Vivek Thangaswamy
ID: 21760779
'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
 
LVL 21

Expert Comment

by:naspinski
ID: 21760901
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
 
LVL 11

Author Comment

by:Vivek Thangaswamy
ID: 21761286
No.. this will read the Word File properties and read the properties....
0
 
LVL 21

Expert Comment

by:naspinski
ID: 21761449
I am sorry, I have never used word interop with linq before.
0
 

Accepted Solution

by:
used2could earned 275 total points
ID: 21781522
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
 

Expert Comment

by:used2could
ID: 21781557
Sorry Master, i ended up posting pretty much what you posted.
0

Featured Post

The New “Normal” in Modern Enterprise Operations

DevOps for the modern enterprise offers many benefits — increased agility, productivity, and more, but digital transformation isn’t easy, especially if you’re not addressing the right issues. Register for the webinar to dive into the “new normal” for enterprise modern ops.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my previous article (http://www.experts-exchange.com/Programming/Languages/.NET/.NET_Framework_3.x/A_4362-Serialization-in-NET-1.html) we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
This article describes relatively difficult and non-obvious issues that are likely to arise when creating COM class in Visual Studio and deploying it by professional MSI-authoring tools. It is assumed that the reader is already familiar with the cla…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question