首页 > 其他分享 >Filter管道

Filter管道

时间:2024-08-31 14:52:28浏览次数:10  
标签:filter name void System Filter 管道 filters using

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,name,void,System,Filter,管道,filters,using
From: https://www.cnblogs.com/readafterme/p/18390297

相关文章

  • 进程间通信----管道篇
    目录一丶  无名管道1. 特点2. 读写特性3. 函数接口二丶有名管道1.特点:2.函数接口3.读写特性一丶  无名管道1. 特点        1. 只能用于具有亲缘关系的进程之间的通信        2. 半双工的通信模式,具有固定的读端和写端   ......
  • Vue 过滤器(Filter)的理解与用法
    Vue.js是一个渐进式JavaScript框架,它提供了丰富的功能来构建用户界面。其中,过滤器(Filter)是一个非常有用的特性,它允许我们在模板中对数据进行格式化处理。本文将详细介绍Vue过滤器的概念、用法以及一些最佳实践。1.过滤器的基本概念1.1什么是过滤器?过滤器是Vue提供的一种......
  • c语言中的管道函数
    在C语言中,管道是一种用于进程间通信的机制,它允许一个进程与另一个进程之间传递数据。以下是与管道相关的主要函数及其用法,包括pipe、popen、pclose和dup2函数。1.pipe函数pipe函数用于创建一个无名管道。无名管道是单向的,可以在父子进程之间传递数据。函数原型in......
  • 构建高效NLP管道:PydanticOutputParser与Langchain的结合
    PydanticOutputParser是一个用于解析语言模型输出的实用工具,它允许用户指定一个Pydantic模型,并查询语言模型以生成符合该模型的JSON输出。这个工具特别有用,因为它可以帮助开发者确保从语言模型获得的结构化数据符合预期的格式,从而简化了数据处理和集成的过程。使用Pyda......
  • scrapy--图片管道-ImagesPipeline
    免责声明:本文仅做演示与分享~ 目录介绍 ImagesPipelinepipelines.pyitems.pyzz.pysettings.py介绍scrapy还提供了处理图片、视频、音频等媒体文件的插件,如:-scrapy-images:用于下载和处理图片-scrapy-video:用于下载和处理视频-scrapy-podcast:用于下载和处......
  • Linux 命令管道介绍
    今天给伙伴们分享一下Linux命令管道,希望看了有所收获。我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文......
  • 进程间通信(管道,共享内存)包含原理剖析
    通信的本质因为进程具有独立性,我们要进行通信的成本一定不低,我们要先让不同的进程看到同一份资源,之后再进行通信。所以,通信的本质是:1.操作系统直接或间接给通信双方的进程提供内存空间2.要通信的进程,必须看到同一份资源!不同的通信类型的本质就是:上面所说的资源是OS中哪一个模......
  • windows核心编程 内核对象,创建进程(CreateProcess),管道(CreatePipe)
    windows核心编程内核对象,创建进程(CreateProcess),管道(CreatePipe)windows核心编程内核对象,创建进程(CreateProcess),管道(CreatePipe)文章目录windows核心编程内核对象,创建进程(CreateProcess),管道(CreatePipe)主进程创建子进程并运行Ping命令主进程创建子进程并运行Ping......
  • 【Python进阶】Python中的函数式编程元素:map、filter和reduce的妙用
    1、函数式编程概览1.1函数式编程起源与发展函数式编程这一概念可以追溯到20世纪30年代的λ演算理论,这一时期数学家们开始探讨如何通过纯粹的函数运算来构建计算模型。随着时间的推移,函数式编程逐渐发展成为一种重要的编程范式,并在Lisp、Scheme、Haskell等语言中得到了充......
  • Cookie,Session Filter,Listener详解
    HTTP请求的无状态性HTTP的无状态性是其一个重要的特征,指的是HTTP协议本身并不保留客户端与服务器交互的历史信息,换而言之,即每次的HTTP请求都是独立的,服务器在处理每一个请求时都不会记住前一个请求的状态无状态的含义独立性:每次的HTTP请求都是独立的,不依赖于之前的请......