static void Main(string[] args) { // Listing c:\windows desdendant files in as eager way /* foreach (FileInfo fileInfo in DirectoryEnumerator.GetDirectoryEnumeratorEager(new DirectoryInfo("c:\\windows"))) { Console.WriteLine(fileInfo.FullName); }*/ // Listing c:\windows desdendant files in as lazy way //foreach (FileInfo fileInfo in DirectoryEnumerator.GetDirectoryEnumeratorLazy(new DirectoryInfo("c:\\windows"))) //{ // Console.WriteLine(fileInfo.FullName); //} // Listing c:\windows desdendant files with an extension method for DirectoryInfo //foreach (FileInfo fileInfo in new DirectoryInfo("c:\\windows").GetDirectoryEnumerator()) //{ // Console.WriteLine(fileInfo.FullName); //} // Listing c:\SPF descendent images //foreach (var img in new DirectoryInfo("c:\\SPF").GetDirectoryImages()) //{ // Console.WriteLine(img); //} string imageBase; if (args.Length == 0) { imageBase = Directory.GetCurrentDirectory(); } else { imageBase = args[0]; } var seq = new ImagesSequence(@"c:\SPF"); foreach (var img in seq.Where("Length>10000")) { Console.WriteLine(string.Format("Name: {0} Size: {1}", img.Name, img.Length)); } //var images = (new DirectoryInfo(imageBase)).GetDirectoryImages().Select(img => new XElement("a", // new XAttribute("href", img), // new XAttribute("rel", "lightbox-photos"), // new XAttribute("title", Path.GetFileNameWithoutExtension(img)), // new XElement("img", // new XAttribute("src", img)))).Aggregate(new StringBuilder(""), (str, img)=> str.Append(img)); //string html = string.Format(Properties.Resources.Template, "The images", images.ToString()); //string htmlFile = imageBase + "\\photos.html"; //StreamWriter stream = new StreamWriter(htmlFile); //stream.Write(html); //stream.Close(); //Console.WriteLine(string.Format("File {0} created!", htmlFile)); }
static void Main(string[] args) { var localvar1 = Expression.Variable(typeof (int), "newInt"); var localvar2 = Expression.Variable(typeof (string), "newString"); var localvar3 = Expression.Variable(typeof (Z), "newZ"); var localAssing1 = Expression.Assign(localvar1, Expression.New(typeof (int))); var localAssing2 = Expression.Assign(localvar2, Expression.Constant("Teste")); var listLocal = new List<ParameterExpression>(); listLocal.Add(localvar1); listLocal.Add(localvar2); var localAssign3 = Expression.Assign(localvar3, Expression.New( typeof (Z).GetConstructor(new Type[] {typeof (int), typeof (string)}), listLocal.ToArray() )); listLocal.Add(localvar3); var block = Expression.Block( listLocal.ToArray(), localAssing1, localAssing2, localAssign3, localvar3 ); var lamb = Expression.Lambda<Func<object>>(block); var getnewZ = lamb.Compile(); var newZ1 = getnewZ(); var newZ2 = getnewZ(); Eval(() => getnewZ()); // Listing c:\windows desdendant files in as eager way //foreach (FileInfo fileInfo in DirectoryEnumerator.GetDirectoryEnumeratorEager(new DirectoryInfo("c:\\windows"))) //{ // Console.WriteLine(fileInfo.FullName); //} // Listing c:\windows desdendant files in as lazy way //foreach (FileInfo fileInfo in DirectoryEnumerator.GetDirectoryEnumeratorLazy(new DirectoryInfo("c:\\windows"))) //{ // Console.WriteLine(fileInfo.FullName); //} // Listing c:\windows desdendant files with an extension method for DirectoryInfo //foreach (FileInfo fileInfo in new DirectoryInfo("c:\\windows").GetDirectoryEnumerator()) //{ // Console.WriteLine(fileInfo.FullName); //} //foreach (var directoryImage in new DirectoryInfo(@"c:\windows").GetDirectoryImages()) //{ // Console.WriteLine(directoryImage); //} //var i = 0; //foreach (var imageHtml in new DirectoryInfo(@"c:\windows").GetDirectoryImages().Select( // img => new XElement("a" // , new XAttribute("href", img) // , new XAttribute("rel", "lightbox-photos") // , new XAttribute("title", "Figure02" + i++)))) //{ // Console.WriteLine(imageHtml); //} //File.WriteAllText("output.html", // String.Format(ResourceTemplate.example, "Galeria Vilhena", // new DirectoryInfo(@"c:\windows") // .GetDirectoryImagesFilenames(new List<string>(){".jpg",".gif",".png"}) // .Select( // img => new XElement("a" // , new XAttribute("href", img) // , new XAttribute("rel", "lightbox-photos") // , new XAttribute("title" // , "Figure" + ++i) // , new XElement("img", // new XAttribute("src", img)))) // .ListToString(xml => xml.ToString() + Environment.NewLine))); //var tokenizer = new StringTokenizer("Length>1000>1000"); //var member = tokenizer.Next(); //var op = tokenizer.Next(); //var value = tokenizer.Next(); ////if(member.Kind == TokenKind.Word) //var param = Expression.Parameter(typeof (FileInfo)); //var prop = Expression.MakeMemberAccess(param, typeof (FileInfo).GetProperty(member.Value)); ////if(value.Kind == TokenKind.Number) // var constant = Expression.Constant(Convert.ToInt64(value.Value)); //var bin = Expression.MakeBinary(ExpressionType.GreaterThan, prop, constant); //var lb = Expression.Lambda(bin, true, param); //lb.Compile().DynamicInvoke() //Console.WriteLine(lb.ToString()); ImagesSequence im = new ImagesSequence(@"c:\windows"); foreach (var image in im.Where("Length>1000")) { Console.WriteLine(image); } Console.ReadLine(); //var member = Expression.MakeBinary( ExpressionType.GreaterThan, // Expression.MakeMemberAccess(Expression.Parameter(typeof(FileInfo)), // typeof(FileInfo).GetProperty(member.Value))) //while (true) //{ // var token = tokenizer.Next(); // if(token.Kind == TokenKind.EOF) // break; //} }