Solved

Convert VB.NET LINQ code to C#

Posted on 2008-06-10
9
589 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

 
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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

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.

Question has a verified solution.

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

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…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…

738 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