में एक फ़िल्टर बनाना मेरे पास एक दिलचस्प चुनौती है, जो मुझे लगता है कि इसका एक आसान जवाब है।"गतिशील रूप से" नेस्ट
मुझे पता है कि घोंसला फिल्टर सही ढंग से काम जब वाक्य रचना आप कुछ इस तरह करते हैं:
var andFilter = FilterFactory.AndFilter(
FilterFactory.TermFilter("name.first", "shay1"),
FilterFactory.TermFilter("name.first", "shay4")
);
मेरे आधार सेवाओं एक फोन करने वाले फिल्टर करने के लिए मदों की गणनीय सूची में किसी प्रकार का में पारित करने के लिए अनुमति चाहिए।
मैं मूल रूप से (फिल्टर विधि में पारित हो जाता) कुछ इस तरह प्राप्त प्रोग्राम के रूप में सक्षम होने के लिए करना चाहते हैं:
var andFilter = new FilterDescriptor();
foreach (var filter in filters)
{
andFilter = filter concatenated to andFilter
}
दूसरे शब्दों में अगर मैं {{ "first.name" की एक सरणी में पारित , "जो"}, { "first.name", "जिम"}, { "first.name", "खुलकर"}} मैं
var andFilter = FilterFactory.AndFilter(
FilterFactory.TermFilter("name.first", "joe"),
FilterFactory.TermFilter("name.first", "joe"),
FilterFactory.TermFilter("name.first", "frank")
);