本文整理汇总了C#中Filter.Give方法的典型用法代码示例。如果您正苦于以下问题:C# Filter.Give方法的具体用法?C# Filter.Give怎么用?C# Filter.Give使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Filter
的用法示例。
在下文中一共展示了Filter.Give方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Test_Filter
Test_Filter()
{
int count = 0;
IFilter< int, int > f
= new Filter< int, int >(
null,
(GetState,Get,Put) => {
if( GetState() == FilterState.NotStarted ) {
return FilterState.Want;
} else if( GetState() == FilterState.Want ) {
Put( Get() );
count++;
return FilterState.Have;
} else if( GetState() == FilterState.Have ) {
if( count >= 3 ) return FilterState.Closed;
return FilterState.Want;
} else {
return FilterState.Closed;
} },
() => {;} );
Assert( f.State == FilterState.Want );
f.Give( 1 );
Assert( f.State == FilterState.Have );
Assert( f.Take() == 1 );
Assert( f.State == FilterState.Want );
f.Give( 2 );
Assert( f.State == FilterState.Have );
Assert( f.Take() == 2 );
Assert( f.State == FilterState.Want );
f.Give( 3 );
Assert( f.State == FilterState.Have );
Assert( f.Take() == 3 );
Assert( f.State == FilterState.Closed );
}