using Cronos;
using Newtonsoft.Json;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Reflection;
using System.Threading;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
var filters = new List<Filter> {
new Filter("A"),
new Filter("B"),
};
var fn = filters.GetEnumerator();
InvokeNext(ref fn);
Console.WriteLine("All filters have been invoked.");
}
static void InvokeNext(ref List<Filter>.Enumerator filters)
{
if (filters.MoveNext())
{
InvokeCurrent(ref filters);
return;
}
Console.WriteLine("調起真正的執行方法.");
}
static void InvokeCurrent(ref List<Filter>.Enumerator filters)
{
var current = filters.Current;
current.Before();
InvokeNext(ref filters);
current.After();
}
}
class Filter
{
private string name;
public Filter(string name)
{
this.name = name;
}
public void Before()
{
Console.WriteLine("Before filter " + name);
}
public void Current()
{
Console.WriteLine("Current filter " + name);
}
public void After()
{
Console.WriteLine("After filter " + name);
}
}
}
輸出:
Before filter A
Before filter B
調起真正的執行方法.
After filter B
After filter A
All filters have been invoked.
Filter管道
相關文章
- angular 管道Angular
- redis管道Redis
- 管道pipe
- 演算法鏈與管道(上):建立管道演算法
- 速度不夠,管道來湊——Redis管道技術Redis
- 介紹 Linux 中的管道和命名管道Linux
- JavaScript filter()JavaScriptFilter
- Listener & FilterFilter
- jQuery filter()jQueryFilter
- Bag FilterFilter
- FILTER JOINFilter
- Utility FilterFilter
- gateway filterGatewayFilter
- mongodb 聚合管道MongoDB
- 【linux】管道!!!Linux
- windows命名管道Windows
- Linux 管道Linux
- Linux管道Linux
- 無名管道和有名管道的概念與實現
- oracle全文索引之FILTER_4_PROCEDURE_FILTEROracle索引Filter
- oracle全文索引之FILTER_1_NULL_FILTEROracle索引FilterNull
- Linux中的pipe(管道)與named pipe(FIFO 命名管道)Linux
- Laravel model filterLaravelFilter
- GEE filter by bandsFilter
- wireshark-filterFilter
- filter過濾Filter
- Filter&ListenerFilter
- jquery filter()方法jQueryFilter
- Logcat filterGCFilter
- 15.GO-管道Go
- IPC(一)---------匿名管道
- Linux 之管道Linux
- 有名管道程式碼
- Linux管道FIFOLinux
- Laravel 管道流原理Laravel
- LINUX管道命令Linux
- 管道的學習
- Linux管道符Linux