4 using System.Collections;
5 using System.Collections.Generic;
9 using System.Threading.Tasks;
11 namespace SiliconStudio.BuildEngine
15 Action<Command, object> Assigner {
get; }
16 Type CommandType {
get; }
22 public Action<Command, object> Assigner {
get;
protected set; }
24 public Type CommandType {
get;
protected set; }
28 CommandType = typeof(TCommand);
29 SetAssigner(assigner);
34 return Filter((TIn)param);
39 Assigner = (x,
y) => assigner((TCommand)x, (TOut)
y);
45 public class FilePatternFilter<TCommand> : ParamFilter<string, string, TCommand> where TCommand :
Command
55 if (pattern.Contains(
"/") || pattern.Contains(
"\\"))
57 string path = pattern.Substring(0, Math.Max(pattern.LastIndexOf(
'/'), pattern.LastIndexOf(
'\\')));
58 string filePattern = path.Length < pattern.Length ? pattern.Substring(path.Length + 1) :
"";
59 return Directory.EnumerateFiles(path, filePattern);
61 return Directory.EnumerateFiles(pattern);
override IEnumerable< string > Filter(string pattern)
_In_ size_t _In_ DXGI_FORMAT _In_ size_t _In_ float size_t y
IEnumerable Filter(object param)
FilePatternFilter(Action< TCommand, string > assigner)
ParamFilter(Action< TCommand, TOut > assigner)
void SetAssigner(Action< TCommand, TOut > assigner)