110,531
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//方法一:显式声明了一个名为 ShowName 的委托,并将对 Name.DisplayToWindow 实例方法的引用分配给其委托实例。
public delegate void ShowName();
public delegate void ShowName(string name);
public delegate void ShowAge(int age);
public delegate void ShowNameAndAge(string name, int age);
namespace ActionDemo
{
public class Name
{
private string instanceName;
public string InstanceName
{
get { return instanceName; }
set { instanceName = value; }
}
private int instanceAge;
public int InstanceAge
{
get { return instanceAge; }
set { instanceAge = value; }
}
public Name(string name,int age)
{
this.instanceName = name;
this.instanceAge = age;
}
public void DisplayName()
{
Console.WriteLine("Name:{0}",this.instanceName);
}
public void DisplayName(string name)
{
Console.WriteLine("Name:{0}",name);
}
public void DisPlayAge(int age)
{
Console.WriteLine("Age:{0}",age);
}
public void DisplayNameAndAge(string name, int age)
{
Console.WriteLine(string.Format("Name:{0} And Age:{1} ",name,age));
}
}
class Program
{
static void Main(string[] args)
{
Name name = new Name("joetao",21);
//实例化委托
//无参委托
ShowName showName1=new ShowName(name.DisplayName);
showName1();
//委托 DisplayName(string name)该如何写????
ShowName showName2=new ShowName(name.DisplayName);
}
}
}
public delegate void ShowName2(string name);
ShowName2 showName2 = new ShowName2(name.DisplayName);
showName2("oj");
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//方法一:显式声明了一个名为 ShowName 的委托,并将对 Name.DisplayToWindow 实例方法的引用分配给其委托实例。
//public delegate void ShowName();
//public delegate void ShowName(string name);
//public delegate void ShowAge(int age);
//public delegate void ShowNameAndAge(string name, int age);
namespace ActionDemo
{
public class Name
{
private string instanceName;
public string InstanceName
{
get { return instanceName; }
set { instanceName = value; }
}
private int instanceAge;
public int InstanceAge
{
get { return instanceAge; }
set { instanceAge = value; }
}
public Name(string name,int age)
{
this.instanceName = name;
this.instanceAge = age;
}
public void DisplayName()
{
Console.WriteLine("Name:{0}",this.instanceName);
}
public void DisplayName(string name)
{
Console.WriteLine("Name:{0}",name);
}
public void DisplayAge(int age)
{
Console.WriteLine("Age:{0}",age);
}
public void DisplayNameAndAge(string name, int age)
{
Console.WriteLine(string.Format("Name:{0} And Age:{1} ",name,age));
}
}
class Program
{
static void Main(string[] args)
{
Name name = new Name("joetao",21);
////实例化委托
////无参委托
//ShowName showName1=new ShowName(name.DisplayName);
//showName1();
////委托 DisplayName(string name)该如何写????
//ShowName showName2=new ShowName(name.DisplayName);
//泛型委托Action
Action actionShowName = name.DisplayName;
actionShowName();
Action<string> actionShowName1 = name.DisplayName;
actionShowName1(name.InstanceName);
Action<int> actionShowAge = name.DisplayAge;
actionShowAge(name.InstanceAge);
Action<string, int> actionShowNameAndAge = name.DisplayNameAndAge;
actionShowNameAndAge(name.InstanceName, name.InstanceAge);
Console.ReadKey();
}
}
}
static void Main(string[] args)
{
Name name = new Name("joetao", 21);
Action showName1 = name.DisplayName;
Action<string> showName2 = name.DisplayName;
showName1();
showName2("hello");
}