এখন বিশেষত স্থানীয় ফাংশন সহ, তবে আপনি সর্বদা এটি এমন কোনও প্রতিনিধিকে পাস করে করতে পারেন যা বেনামে টাইপ করে।
সুতরাং যদি আপনার লক্ষ্য একই উত্সগুলিতে বিভিন্ন যুক্তি চালানো ছিল এবং ফলাফলগুলি একক তালিকায় একত্রিত করতে সক্ষম হয়। নিশ্চিত হওয়া লক্ষ্যটি পূরণে এটি কোন উপদ্রব অনুপস্থিত তা নিশ্চিত নয়, তবে আপনি যতক্ষণ না কোনও ফেরত T
পাঠান এবং কোনও প্রতিনিধি বানাতে পাস করেন ততক্ষণ আপনি T
কোনও ফাংশন থেকে বেনামে টাইপ করতে পারেন।
void LookMyChildReturnsAnAnonICanConsume()
{
var items = new[] { new { Item1 = "hello", Item2 = 3 } };
var itemsProjection =items.Select(x => SomeLogic(x.Item1, x.Item2, (y, i) => new { Word = y, Count = i} ));
var otherSourceProjection = SomeOtherSource((y,i) => new {Word=y,Count=i});
var q =
from anony1 in itemsProjection
join anony2 in otherSourceProjection
on anony1.Word equals anony2.Word
select new {anony1.Word,Source1Count=anony1.Count,Source2Count=anony2.Count};
var togetherForever = itemsProjection.Concat(otherSourceProjection).ToList();
}
T SomeLogic<T>(string item1, int item2, Func<string,int,T> f){
return f(item1,item2);
}
IEnumerable<T> SomeOtherSource<T>(Func<string,int,T> f){
var dbValues = new []{Tuple.Create("hello",1), Tuple.Create("bye",2)};
foreach(var x in dbValues)
yield return f(x.Item1,x.Item2);
}