Click here to Skip to main content
16,017,297 members
Home / Discussions / C#
   

C#

 
GeneralRe: DataGridView and Database Pin
Wouter Van Ranst28-Jun-06 0:21
Wouter Van Ranst28-Jun-06 0:21 
GeneralRe: DataGridView and Database Pin
led mike28-Jun-06 4:47
led mike28-Jun-06 4:47 
GeneralRe: DataGridView and Database Pin
Wouter Van Ranst28-Jun-06 4:50
Wouter Van Ranst28-Jun-06 4:50 
GeneralRe: DataGridView and Database Pin
led mike28-Jun-06 5:20
led mike28-Jun-06 5:20 
GeneralRe: DataGridView and Database Pin
Wouter Van Ranst28-Jun-06 5:36
Wouter Van Ranst28-Jun-06 5:36 
GeneralRe: DataGridView and Database Pin
led mike28-Jun-06 7:39
led mike28-Jun-06 7:39 
QuestionDelegate Beginner stage Pin
kurangu27-Jun-06 5:52
kurangu27-Jun-06 5:52 
AnswerRe: Delegate Beginner stage Pin
Robert Rohde27-Jun-06 6:12
Robert Rohde27-Jun-06 6:12 
The code wouldn't call the function. For this you would have to add:
d1(probablySomeArguments);

In this simple scenario it doesn't make any sense. Let me try to construct a rather simple case where it could be useful:
Lets assume you have an array of numbers which you want to apply a function to each one:
public void Calculate(int[] numbers) {
   for (int i = 0; i < numbers; i++)
      numbers[i] = numbers[i] * 2;
}

This small snippet would double all numbers. But what if several callers want to do different things with those numbers? For this you *could* use a delegate:
public delegate int NumberCalculaterCallback(int number);

public void Calculate(int[] numbers, NumberCalculaterCallback callback) {
   for (int i = 0; i < numbers; i++)
      numbers[i] = callback(numbers[i]);
}

Now the caller could input any function it likes:
public class Caller {
   private int Double(int number) {
      return number * 2;
   }

   private int AddOne(int number) {
      return number + 1;
   }

   private int Square(int number) {
      return Math.Pow(number, 2);
   }

   public void Test() {
      int[] numbers = new int[] { 1, 2, 3, 4, 5 };
      Calculate(numbers, new NumberCalculaterCallback(Double));
      Calculate(numbers, new NumberCalculaterCallback(AddOne));
      Calculate(numbers, new NumberCalculaterCallback(Square));
   }
}

Calculate now uses functions which it has absolute no clue about. This function could be anywhere, even in a different assembly. It just needs to know about the delegate definition and can then make any processing with the numbers the caller can think of.
GeneralRe: Delegate Beginner stage Pin
kurangu27-Jun-06 9:27
kurangu27-Jun-06 9:27 
Questiongridview to textbox Pin
johnes777927-Jun-06 5:38
johnes777927-Jun-06 5:38 
AnswerRe: gridview to textbox Pin
eggsovereasy27-Jun-06 10:55
eggsovereasy27-Jun-06 10:55 
QuestionRe: gridview to textbox? Pin
johnes777927-Jun-06 11:37
johnes777927-Jun-06 11:37 
AnswerRe: gridview to textbox? [modified] Pin
eggsovereasy27-Jun-06 11:54
eggsovereasy27-Jun-06 11:54 
GeneralRe: gridview to textbox? Pin
johnes777927-Jun-06 12:33
johnes777927-Jun-06 12:33 
QuestionXML documentation problem Pin
Super Lloyd27-Jun-06 5:20
Super Lloyd27-Jun-06 5:20 
General"Forwarding" key presses to parent form Pin
Daniel Grunwald27-Jun-06 5:12
Daniel Grunwald27-Jun-06 5:12 
GeneralRe: "Forwarding" key presses to parent form Pin
Nader Elshehabi27-Jun-06 5:35
Nader Elshehabi27-Jun-06 5:35 
GeneralRe: "Forwarding" key presses to parent form Pin
Daniel Grunwald27-Jun-06 5:49
Daniel Grunwald27-Jun-06 5:49 
GeneralRe: "Forwarding" key presses to parent form Pin
Nader Elshehabi27-Jun-06 11:04
Nader Elshehabi27-Jun-06 11:04 
QuestionOverwrite files in a web service Pin
sergestusxx27-Jun-06 5:11
sergestusxx27-Jun-06 5:11 
GeneralRe: Overwrite files in a web service Pin
Guffa27-Jun-06 7:08
Guffa27-Jun-06 7:08 
GeneralRe: Overwrite files in a web service Pin
sergestusxx27-Jun-06 7:22
sergestusxx27-Jun-06 7:22 
AnswerRe: Overwrite files in a web service Pin
Guffa27-Jun-06 8:50
Guffa27-Jun-06 8:50 
GeneralRe: Overwrite files in a web service Pin
sergestusxx27-Jun-06 9:55
sergestusxx27-Jun-06 9:55 
AnswerRe: Overwrite files in a web service Pin
Guffa27-Jun-06 13:03
Guffa27-Jun-06 13:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.