Solved

Moving from Event Handlers in vb.net to c#.net

Posted on 2009-06-30
4
252 Views
Last Modified: 2013-12-17
Okay, I've finally given up on trying to do this. I only recently learnt to do it in vb.net and found it really useful. Translating that to C# is proving to be an absolute nightmare.

What I had in vb.net was this. A class that inherited and extended the data table class called xDataTable.

One of the main features of this extension is that the base data table will populate itself from a SQL server database if a populated SQLCommand is given to it.

I then added an event to the xDataTable which fired whenever the base data table was populated. Trying to do this in C# is proofing to be my worst nightmare. Can anyone help please.

Summary:

Class xDataTable will contain an event called hasData

Form fEditor should then add a handler to use this event.

Please could someone help and stop me from going back to vb

Thanks.
0
Comment
Question by:paul_whiting
[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
  • 2
  • 2
4 Comments
 
LVL 18

Accepted Solution

by:
DarrenD earned 500 total points
ID: 24743577
Hi,

If you have a class xDataTable you should create a delegate like so

// Create Event

public delegate void HandleData();

public class xDataTable {

  public event HandleData hasData

  public void Fire() {
    hasData();
  }
}

//Register Event in Form
class registerEvent {

  xDataTable xdata = new xDataTable();

  ImplementationEvent myImpl = new ImplementationEvent();

  xdata.hasData += new HandleData(myImpl.DoSomething);
}

//Register Event in Form
class ImplementationEvent {

  public void DoSomething() {

   console.WriteLine("EventFired");

  }
}

Hope this helps,

Darren
0
 

Author Comment

by:paul_whiting
ID: 24752784
Thanks very much for your reply. It took a while but I got it to work with my scenario. C# is giving me nightmares, but I shall persevere.

Would there be much difference if I passed values with the events?

Thanks

Paul
0
 
LVL 18

Expert Comment

by:DarrenD
ID: 24752867
Hi Paul,

Your delegate will have to change to something like

public delegate void HandleData(string value);

You will have to call the event using a parameter

hasData("Hello");

and your implementation will have to change to

public void DoSomething(string value) {

   console.WriteLine(value);

  }


Think that's it.

Obviously haven't tested it.

Cheers,

Darren
0
 

Author Comment

by:paul_whiting
ID: 24754427
Thanks,

haven't had a chance to test it, but given what I now know via your previous solution, looks like it will  work. Thank-you so much. You have saved my sanity.

Paul
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
aspx ascx, c# 7 45
.NET Redemption/Outlook Examples 3 35
Help solve error message when converting date using vb.NET 10 44
What!!!??? 5 63
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
The viewer will learn how to implement Singleton Design Pattern in Java.
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…

752 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