本篇笔记延续上一篇delegate部分,因为Action和Func是dotnet内置的代理类。
之前使用代理时,需要先delegate申明一个代理,然后才能定义、使用。
由于dotnet中Action申明为:
public delegate void Action();
Func申明为:
public delegate TResult Func<out TResult>();
所以不需要再从新申明了,直接实例化代理对象即可。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DelegateDemo
{
class Program
{
static void Main(string[] args)
{
// Action是.net内置的delegate,申明为public delegate void Action()
// Action以及它的泛型,只能代理无返回值的方法,参数可以没有,最多支持16个
Action myAction1 = new Action(ShowStockInfo1); // Action定义
Action<string> myAction2 = new Action<string>(ShowStockInfo2); // Action定义 泛型,有一个参数、无返回值
//myDelegate1(); // delegate使用
myAction1()