کتابخانه‌ی FastReflection
در حین توسعه‌ی کتابخانه‌ی PdfReport نیاز به یک کتابخانه‌ی Reflection سریع با پشتیبانی از خواصی خصوصا تو در تو بود. حاصل مطلب « دسترسی سریع به مقادیر خواص توسط Reflection.Emit » تبدیل به کتابخانه‌ی FastReflection ذیل شد که هم اکنون در PdfReport مورد استفاده است:
FastReflection.zip

            // کار با یک لیست جنریک تو در تو
            var list = new List<User>();
            for (int i = 0; i < 100; i++)
            {
                list.Add(new User
                {
                    Id = i+1,
                    Name = "name "+i,
                    Address = new Address
                    {
                        Address1 = "Addr1- "+i,
                        Address2 = "Addr2- "+i
                    }
                });
            }
            foreach (var item in list)
            {
                var propertyValues = new DumpNestedProperties().DumpPropertyValues(item, dumpLevel: 2);
                foreach (var result in propertyValues)
                {
                    Console.WriteLine(result.PropertyName + " -> " + result.PropertyValue);
                }
                Console.WriteLine();
            }
متد DumpPropertyValues ، توسط روش‌های Reflection.Emit تا تعداد سطحی را که مشخص می‌کنید، از شیء ارسالی به آن استخراج می‌کند. مباحث caching و استفاده مجدد از کدهای پویای تولید شده، در آن لحاظ شده و همچنین dumpLevel آن، از stack overflow در حین کار با پروکسی‌های پویای Entity framework جلوگیری می‌کند.