//***************Threading******************************************************

Thread t = new Thread(new ThreadStart(DoWork)); //Methode->protected void DoWork() t.Start();

System.Threading.Thread.Sleep(5000);

//**************BackgroundWorker(Beispiel)********************

private BackgroundWorker bw = new BackgroundWorker(); public Page()

{
InitializeComponent();
bw.WorkerReportsProgress = 
true;
bw.WorkerSupportsCancellation = 
true;
bw.DoWork += 
new DoWorkEventHandler(bw_DoWork);
bw.ProgressChanged += 
new ProgressChangedEventHandler(bw_ProgressChanged); bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted); }
private void buttonStart_Click(object sender, RoutedEventArgs e)
{
if (bw.IsBusy != true)
{
bw.RunWorkerAsync();
}
}
private void buttonCancel_Click(object sender, RoutedEventArgs e)
{
if (bw.WorkerSupportsCancellation == true)
{
bw.CancelAsync();
}
}
private void bw_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker worker = sender as BackgroundWorker;

page4image427998480 page4image427998768 page4image427999056 page4image427999408 page4image427999696 page4image427999984 page4image428000272 page4image428000688page4image428000976 page4image428001264 page4image428001552 page4image428001840 page4image428002128page4image427932400 page4image427932688 page4image427933232 page4image427933424 page4image427933712 page4image427934000 page4image427934288page4image427934576 page4image427934864 page4image427935152

for (int i = 1; (i <= 10); i++)
{
if ((worker.CancellationPending == true))
{
e.Cancel = 
true;
break;
}
else
{
System.Threading.Thread.Sleep(500);
worker.ReportProgress((i * 10));
}
}
}
private void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) {
if ((e.Cancelled == true))
{
this.tbProgress.Text = "Canceled!";
}

else if (!(e.Error == null))
{
this.tbProgress.Text = ("Error: " + e.Error.Message); }

else

{
this.tbProgress.Text = "Done!";
}
}
private void bw_ProgressChanged(object sender, ProgressChangedEventArgs e) {
this.tbProgress.Text = (e.ProgressPercentage.ToString() + "%");

page4image427897776 page4image428136176 page4image428136464 page4image428136752 page4image428137040 page4image428137328 page4image428137680

// Perform a time consuming operation and report progress.

page4image428145120 page4image428145408 page4image428145696 page4image428145984 page4image428146272 page4image428146560 page4image428146848page4image428147136 page4image428147424 page4image428147712 page4image428148000page4image428148288

} }

//******************Delegate(Beispiel)******************************

page5image478737136

using System.IO public class Program {

public delegate void Write(string theText);
public static void OutputToScreen(string theText)

{ Console.WriteLine(theText);

}

public static void WriteToFile(string theText) {

// Define our delegate type
// Method for output to screen

// Method to output to file

page5image478775600 page5image478775952 page5image478776240 page5image478776528 page5image478776816 page5image478777232 page5image478777520 page5image478777808 page5image478778096 page5image478778384 page5image478778672 page5image478778960page5image478779248 page5image478779792 page5image478779984 page5image478780272

StreamWriter fileWriter = File.CreateText("c:/delegate-demo.txt"); fileWriter.WriteLine(theText);
fileWriter.Flush();
fileWriter.Close();

page5image478795008 page5image478795296 page5image478795584

}
public static void Main() {

Write toFile = new Write(WriteToFile);
Write toScreen = 
new Write(OutputToScreen); Display("This is a delegate demo", toFile); Display("This is a delegate demo", toScreen);

// Assign a method to a delegate

page5image478822752 page5image478823040 page5image478823328 page5image478823616 page5image478823904 page5image478824192 page5image478824480page5image478824768

}
public static void Display(string theText, Write outputMethod) {

outputMethod(theText); }

}

//************************Delegate(Beispiel2)***********************

//Step 1. Declare a delegate with the signature of the encapsulated method

public delegate void MyDelegate(string input);
//Step 2. Define methods that match with the signature of delegate declaration
class MyClass1
{
public void delegateMethod1(string input)
{
Console.WriteLine("This is delegateMethod1 and the input to the method is {0}",input); }
public void delegateMethod2(string input)
{
Console.WriteLine("This is delegateMethod2 and the input to the method is {0}",input); }
}
//Step 3. Create delegate object and plug in the methods
class MyClass2
{
public MyDelegate createDelegate()
{
MyClass1 c2=
new MyClass1();
MyDelegate d1 = 
new MyDelegate(c2.delegateMethod1);
MyDelegate d2 = 
new MyDelegate(c2.delegateMethod2);
MyDelegate d3 = d1 + d2;
return d3;
}
}
//Step 4. Call the encapsulated methods through the delegate
class MyClass3
{
public void callDelegate(MyDelegate d,string input)
{
d(input);
}
}
class Driver
{
static void Main(string[] args)
{
MyClass2 c2 = 
new MyClass2();
MyDelegate d = c2.createDelegate();
MyClass3 c3 = 
new MyClass3();
c3.callDelegate(d,"Calling the delegate");
}

page5image478966352 page5image478966640 page5image478966928 page5image478967216 page5image478967504 page5image478967792page5image478968080 page5image478968368 page5image478968656 page5image478968944 page5image478969232page5image478969520 page5image478969808 page5image478970096 page5image478970384 page5image478970672 page5image478970960page5image478971248 page5image478971536 page5image478971824 page5image478972112 page5image478972400 page5image478972688 page5image478972976page5image478973264 page5image478973552 page5image478973840 page5image478974128 page5image478974416 page5image478974704 page5image478974992

}

//********************Delegate(Beispiel3)*****************

namespace SimpleDelegateSample {

public delegate int Calculate (int value1, int value2); //defining the delegate
public class MyClass //the class which contains the methods that will be assigned to delegate objects

page6image846616432 page6image846616720 page6image846617008 page6image846617360 page6image846617648 page6image846617936 page6image846618224 page6image846618640 page6image846618928

{

page6image846619888

public MyClass() { }
public int add(int value1, int value2) {

return value1 + value2;

}
public int sub( int value1, int value2) {

return value1 - value2;

page6image846638576 page6image846638864 page6image846639152 page6image846639696

} }

class Program {

page6image846643088 page6image846643376

static void Main(string[] args)
{
MyClass mc = 
new MyClass();
Calculate add = 
new Calculate(mc.add); //creating delegate objects and assigning appropriate methods Calculate sub = new Calculate(mc.sub);

page6image846666160 page6image846666448 page6image846666736

//creating the class which contains the methods that will be assigned to delegate objects

page6image846677232 page6image846677520 page6image846677808 page6image846678096 page6image846678384 page6image846678672page6image846678960

Console.WriteLine("Adding two values: " + add(10, 6)); Console.WriteLine("Subtracting two values: " + sub(10,4)); Console.ReadLine();
}

//using the delegate objects to call the assigned methods

page6image846701344 page6image846701632

} }

//********************Event*********************************

public delegate void MyHandler1(object sender,MyEventArgs e); //Step 1 Create delegate object public delegate void MyHandler2(object sender,MyEventArgs e);

class A {

//Step 2 Create event handler methods

} }

class B {

{

} }

public const string m_id="Class A";
public void OnHandler1(object sender,MyEventArgs e) {

Console.WriteLine("I am in OnHandler1 and MyEventArgs is {0}", e.m_id);

}
public void OnHandler2(object sender,MyEventArgs e) {

Console.WriteLine("I am in OnHandler2 and MyEventArgs is {0}", e.m_id);

}
public A(B b) //Step 3 create delegates, plug in the handler and register with the object that will fire the events {

MyHandler1 d1=new MyHandler1(OnHandler1); MyHandler2 d2=new MyHandler2(OnHandler2); b.Event1 +=d1;
b.Event2 +=d2;

//Step 4 Calls the encapsulated methods through the delegates (fires events)

public event MyHandler1 Event1; public event MyHandler2 Event2; public void FireEvent1(MyEventArgs e) {

if(Event1 != null) {

Event1(this,e); public void FireEvent2(MyEventArgs e)

} }

public class MyEventArgs : EventArgs {

public string m_id;

}
public class Driver {

if(Event2 != null) {
Event2(
this,e);
}

} }

public static void Main() {

B b= new B();
A a= 
new A(b);
MyEventArgs e1=
new MyEventArgs(); MyEventArgs e2=new MyEventArgs(); e1.m_id ="Event args for event 1"; e2.m_id ="Event args for event 2"; b.FireEvent1(e1);
b.FireEvent2(e2);

//*****************Event(Beispiel2)*************************************

public class MyEventArgs : EventArgs {

private string msg;

public MyEventArgs( string messageData ) {

msg = messageData; }

public string Message {

get { return msg; }

set { msg = value; } }

}
public class HasEvent {

public event EventHandler<MyEventArgs> SampleEvent;

public void DemoEvent(string val) {

EventHandler<MyEventArgs> temp = SampleEvent; if (temp != null)

temp(this, new MyEventArgs(val)); }

}
public class Sample {

public static void Main() {

// Declare an event of delegate type EventHandler of MyEventArgs.

// Copy to a temporary variable to be thread-safe.

HasEvent he = new HasEvent();
he.SampleEvent += new EventHandler<MyEventArgs>(SampleEventHandler); he.DemoEvent(
"Hey there, Bruce!");
he.DemoEvent(
"How are you today?");

}
private static void SampleEventHandler(object src, MyEventArgs mea) {

Console.WriteLine(mea.Message); }

} //***********************************************

//***************Threading****************************************************** Thread t = new Thread(new ThreadStart(DoWork)); //Methode->protected void DoWork() t.Start();... mehr erfahren »
Fenster schließen

//***************Threading******************************************************

Thread t = new Thread(new ThreadStart(DoWork)); //Methode->protected void DoWork() t.Start();

System.Threading.Thread.Sleep(5000);

//**************BackgroundWorker(Beispiel)********************

private BackgroundWorker bw = new BackgroundWorker(); public Page()

{
InitializeComponent();
bw.WorkerReportsProgress = 
true;
bw.WorkerSupportsCancellation = 
true;
bw.DoWork += 
new DoWorkEventHandler(bw_DoWork);
bw.ProgressChanged += 
new ProgressChangedEventHandler(bw_ProgressChanged); bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted); }
private void buttonStart_Click(object sender, RoutedEventArgs e)
{
if (bw.IsBusy != true)
{
bw.RunWorkerAsync();
}
}
private void buttonCancel_Click(object sender, RoutedEventArgs e)
{
if (bw.WorkerSupportsCancellation == true)
{
bw.CancelAsync();
}
}
private void bw_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker worker = sender as BackgroundWorker;

page4image427998480 page4image427998768 page4image427999056 page4image427999408 page4image427999696 page4image427999984 page4image428000272 page4image428000688page4image428000976 page4image428001264 page4image428001552 page4image428001840 page4image428002128page4image427932400 page4image427932688 page4image427933232 page4image427933424 page4image427933712 page4image427934000 page4image427934288page4image427934576 page4image427934864 page4image427935152

for (int i = 1; (i <= 10); i++)
{
if ((worker.CancellationPending == true))
{
e.Cancel = 
true;
break;
}
else
{
System.Threading.Thread.Sleep(500);
worker.ReportProgress((i * 10));
}
}
}
private void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) {
if ((e.Cancelled == true))
{
this.tbProgress.Text = "Canceled!";
}

else if (!(e.Error == null))
{
this.tbProgress.Text = ("Error: " + e.Error.Message); }

else

{
this.tbProgress.Text = "Done!";
}
}
private void bw_ProgressChanged(object sender, ProgressChangedEventArgs e) {
this.tbProgress.Text = (e.ProgressPercentage.ToString() + "%");

page4image427897776 page4image428136176 page4image428136464 page4image428136752 page4image428137040 page4image428137328 page4image428137680

// Perform a time consuming operation and report progress.

page4image428145120 page4image428145408 page4image428145696 page4image428145984 page4image428146272 page4image428146560 page4image428146848page4image428147136 page4image428147424 page4image428147712 page4image428148000page4image428148288

} }

//******************Delegate(Beispiel)******************************

page5image478737136

using System.IO public class Program {

public delegate void Write(string theText);
public static void OutputToScreen(string theText)

{ Console.WriteLine(theText);

}

public static void WriteToFile(string theText) {

// Define our delegate type
// Method for output to screen

// Method to output to file

page5image478775600 page5image478775952 page5image478776240 page5image478776528 page5image478776816 page5image478777232 page5image478777520 page5image478777808 page5image478778096 page5image478778384 page5image478778672 page5image478778960page5image478779248 page5image478779792 page5image478779984 page5image478780272

StreamWriter fileWriter = File.CreateText("c:/delegate-demo.txt"); fileWriter.WriteLine(theText);
fileWriter.Flush();
fileWriter.Close();

page5image478795008 page5image478795296 page5image478795584

}
public static void Main() {

Write toFile = new Write(WriteToFile);
Write toScreen = 
new Write(OutputToScreen); Display("This is a delegate demo", toFile); Display("This is a delegate demo", toScreen);

// Assign a method to a delegate

page5image478822752 page5image478823040 page5image478823328 page5image478823616 page5image478823904 page5image478824192 page5image478824480page5image478824768

}
public static void Display(string theText, Write outputMethod) {

outputMethod(theText); }

}

//************************Delegate(Beispiel2)***********************

//Step 1. Declare a delegate with the signature of the encapsulated method

public delegate void MyDelegate(string input);
//Step 2. Define methods that match with the signature of delegate declaration
class MyClass1
{
public void delegateMethod1(string input)
{
Console.WriteLine("This is delegateMethod1 and the input to the method is {0}",input); }
public void delegateMethod2(string input)
{
Console.WriteLine("This is delegateMethod2 and the input to the method is {0}",input); }
}
//Step 3. Create delegate object and plug in the methods
class MyClass2
{
public MyDelegate createDelegate()
{
MyClass1 c2=
new MyClass1();
MyDelegate d1 = 
new MyDelegate(c2.delegateMethod1);
MyDelegate d2 = 
new MyDelegate(c2.delegateMethod2);
MyDelegate d3 = d1 + d2;
return d3;
}
}
//Step 4. Call the encapsulated methods through the delegate
class MyClass3
{
public void callDelegate(MyDelegate d,string input)
{
d(input);
}
}
class Driver
{
static void Main(string[] args)
{
MyClass2 c2 = 
new MyClass2();
MyDelegate d = c2.createDelegate();
MyClass3 c3 = 
new MyClass3();
c3.callDelegate(d,"Calling the delegate");
}

page5image478966352 page5image478966640 page5image478966928 page5image478967216 page5image478967504 page5image478967792page5image478968080 page5image478968368 page5image478968656 page5image478968944 page5image478969232page5image478969520 page5image478969808 page5image478970096 page5image478970384 page5image478970672 page5image478970960page5image478971248 page5image478971536 page5image478971824 page5image478972112 page5image478972400 page5image478972688 page5image478972976page5image478973264 page5image478973552 page5image478973840 page5image478974128 page5image478974416 page5image478974704 page5image478974992

}

//********************Delegate(Beispiel3)*****************

namespace SimpleDelegateSample {

public delegate int Calculate (int value1, int value2); //defining the delegate
public class MyClass //the class which contains the methods that will be assigned to delegate objects

page6image846616432 page6image846616720 page6image846617008 page6image846617360 page6image846617648 page6image846617936 page6image846618224 page6image846618640 page6image846618928

{

page6image846619888

public MyClass() { }
public int add(int value1, int value2) {

return value1 + value2;

}
public int sub( int value1, int value2) {

return value1 - value2;

page6image846638576 page6image846638864 page6image846639152 page6image846639696

} }

class Program {

page6image846643088 page6image846643376

static void Main(string[] args)
{
MyClass mc = 
new MyClass();
Calculate add = 
new Calculate(mc.add); //creating delegate objects and assigning appropriate methods Calculate sub = new Calculate(mc.sub);

page6image846666160 page6image846666448 page6image846666736

//creating the class which contains the methods that will be assigned to delegate objects

page6image846677232 page6image846677520 page6image846677808 page6image846678096 page6image846678384 page6image846678672page6image846678960

Console.WriteLine("Adding two values: " + add(10, 6)); Console.WriteLine("Subtracting two values: " + sub(10,4)); Console.ReadLine();
}

//using the delegate objects to call the assigned methods

page6image846701344 page6image846701632

} }

//********************Event*********************************

public delegate void MyHandler1(object sender,MyEventArgs e); //Step 1 Create delegate object public delegate void MyHandler2(object sender,MyEventArgs e);

class A {

//Step 2 Create event handler methods

} }

class B {

{

} }

public const string m_id="Class A";
public void OnHandler1(object sender,MyEventArgs e) {

Console.WriteLine("I am in OnHandler1 and MyEventArgs is {0}", e.m_id);

}
public void OnHandler2(object sender,MyEventArgs e) {

Console.WriteLine("I am in OnHandler2 and MyEventArgs is {0}", e.m_id);

}
public A(B b) //Step 3 create delegates, plug in the handler and register with the object that will fire the events {

MyHandler1 d1=new MyHandler1(OnHandler1); MyHandler2 d2=new MyHandler2(OnHandler2); b.Event1 +=d1;
b.Event2 +=d2;

//Step 4 Calls the encapsulated methods through the delegates (fires events)

public event MyHandler1 Event1; public event MyHandler2 Event2; public void FireEvent1(MyEventArgs e) {

if(Event1 != null) {

Event1(this,e); public void FireEvent2(MyEventArgs e)

} }

public class MyEventArgs : EventArgs {

public string m_id;

}
public class Driver {

if(Event2 != null) {
Event2(
this,e);
}

} }

public static void Main() {

B b= new B();
A a= 
new A(b);
MyEventArgs e1=
new MyEventArgs(); MyEventArgs e2=new MyEventArgs(); e1.m_id ="Event args for event 1"; e2.m_id ="Event args for event 2"; b.FireEvent1(e1);
b.FireEvent2(e2);

//*****************Event(Beispiel2)*************************************

public class MyEventArgs : EventArgs {

private string msg;

public MyEventArgs( string messageData ) {

msg = messageData; }

public string Message {

get { return msg; }

set { msg = value; } }

}
public class HasEvent {

public event EventHandler<MyEventArgs> SampleEvent;

public void DemoEvent(string val) {

EventHandler<MyEventArgs> temp = SampleEvent; if (temp != null)

temp(this, new MyEventArgs(val)); }

}
public class Sample {

public static void Main() {

// Declare an event of delegate type EventHandler of MyEventArgs.

// Copy to a temporary variable to be thread-safe.

HasEvent he = new HasEvent();
he.SampleEvent += new EventHandler<MyEventArgs>(SampleEventHandler); he.DemoEvent(
"Hey there, Bruce!");
he.DemoEvent(
"How are you today?");

}
private static void SampleEventHandler(object src, MyEventArgs mea) {

Console.WriteLine(mea.Message); }

} //***********************************************

Filter schließen
Für die Filterung wurden keine Ergebnisse gefunden!
Zuletzt angesehen