Solved

Convert VB.NET LINQ code to C#

Posted on 2008-06-10
9
585 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
Comment Utility
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
Comment Utility
'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
Comment Utility
sorry, forgot to change me to this.

Where is incorrect, it is 'where' in c# - case-sensitive
0
 
LVL 11

Author Comment

by:Vivek Thangaswamy
Comment Utility
'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
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 21

Expert Comment

by:naspinski
Comment Utility
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
Comment Utility
No.. this will read the Word File properties and read the properties....
0
 
LVL 21

Expert Comment

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

Accepted Solution

by:
used2could earned 275 total points
Comment Utility
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
Comment Utility
Sorry Master, i ended up posting pretty much what you posted.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

744 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now