I think I've got old because while using delegate, I couldn't remember it's usage. So I think it's a good idea to take a review and memo it here.
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Collections;
using System.Drawing;
using System.Linq;
using System.Workflow.ComponentModel.Compiler;
using System.Workflow.ComponentModel.Serialization;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Design;
using System.Workflow.Runtime;
using System.Workflow.Activities;
using System.Workflow.Activities.Rules;
namespace wfConsole
{
delegate void PrintLine();
delegate void PrintContent(string s, int count);
public sealed partial class Workflow1 : SequentialWorkflowActivity
{
public Workflow1()
{
InitializeComponent();
}
private void ReviewDelegate_ExecuteCode(object sender, EventArgs e)
{
// 委派 C# 1.0
PrintLine pl = new PrintLine(this.WriteLine);
PrintContent pc = new PrintContent(this.WriteContent);
pl.Invoke();
pc.Invoke("C# 1.0", 5);
// 委派 C# 2.0
PrintLine pl2 = delegate()
{
Console.WriteLine("********************");
};
PrintContent pc2 = delegate(string s, int count)
{
for (int i = 0; i < count; i++)
{
Console.Write("{0:00} ", i + 1);
Console.WriteLine(s);
}
};
pl2.Invoke();
pc2.Invoke("C# 2.0", 5);
// 委派 C# 3.0
PrintLine pl3 = () =>
{
Console.WriteLine("----------------------");
};
PrintContent pc3 = (string s, int count) =>
{
for (int i = 0; i < count; i++)
{
Console.Write("{0:00} ", i + 1);
Console.WriteLine(s);
}
};
pl3.Invoke();
pc3.Invoke("C# 3.0", 5);
Console.Read();
}
private void WriteLine()
{
Console.WriteLine("=========================");
}
private void WriteContent(string s, int count)
{
for (int i = 0; i < count; i++)
{
Console.Write("{0:00} ", i + 1);
Console.WriteLine(s);
}
}
}
}