Solved

Convert VB.NET LINQ code to C#

Posted on 2008-06-10
9
587 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
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

It seems a simple enough task, yet I see repeated questions asking how to do it: how to pass data between two forms. In this article, I will show you the different mechanisms available for you to do just that. This article is directed towards the .N…
In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
This is used to tweak the memory usage for your computer, it is used for servers more so than workstations but just be careful editing registry settings as it may cause irreversible results. I hold no responsibility for anything you do to the regist…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

813 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

13 Experts available now in Live!

Get 1:1 Help Now