Можно использовать отражение... С Отражением можно исследовать каждого члена класса (Тип), proeprties, методы, конструкторы, поля, и т.д.
using System.Reflection;
Type type = job.GetType();
foreach ( MemberInfo memInfo in type.GetMembers() )
if (memInfo is PropertyInfo)
{
// Do Something
}
Я не думаю, что в ближайшее время они добавят поддержку XPath 2.0 или XSLT 2.0.
Однако вы не должны расстраиваться, если они не являются частью BCL, при условии, что у вас доступны сторонние реализации:
Microsoft ориентирована на клиентов. Если клиенты не хотят этого, они не смогут этого сделать.
18.11.2009: Я связался с командой XML здесь и получил следующий ответ:
Хотя XML продолжает оставаться часть ключа нашей платформы в будущем, у нас есть решил не заниматься XSLT 2.0 реализация в настоящее время. Если там это конкретная задача XSLT, которую вы пытаетесь выполнить и имеем трудности с XSLT 1.0, позвольте мы знаем, и мы сделаем все возможное, чтобы помочь.
Этот список теперь поддерживается на github.com/maxtoroq/dotnet-xml
См. Это сообщение в блоге
Есть несколько причин, по которым мы не реализуют XSLT 2.0 и XPath 2.0
Требуется много усилий и ресурсов реализовать все 3 технологии (XQuery, XSLT 2.0 и XPath 2.0). Наши руководящим принципом было то, что мы верим распространение XML-запросов технологии сбивают с толку пользователей. Мы бы лучше реализовали еще один язык, который мы подталкиваем к изучению чем поддерживать и объяснять три больше XML-запросов и преобразований языки, в дополнение к XPath 1.0 и XSLT 1.0, который уже существует в .NET Framework. Наши клиенты и люди поддержки должны иметь дело с сложность 3 сложных XML языки запросов, два из которых выглядят похожи, но ведут себя совершенно иначе в случае XPath 2.0 и XQuery нам показалось не то полезно.
Не могу поверить, что на каком-то этапе их не будет, поскольку они являются основными технологиями W3C. Однако я не могу найти никаких текущих ссылок на них (только информация, опубликованная давно).
В ближайшем будущем вам следует взглянуть на Saxon , который поддерживает Требуемые версии Xpath / XSLT.
Мое понимание состоит в том, что многие ресурсы Microsoft XML были отклонены от XSLT 2.0 на Linq к XML, что - на мой взгляд - не обращается к тому же проблемному пространству, что и XSLT.
LINQ к XSD должен был улучшить LINQ к XML (а также преимуществам XML-схемы, синтаксис менее уродливы), но это было открыто, что Microsoft на CodePlex некоторое время назад и, по-видимому, не имеет поддержки сообщества.
Кроме того, в маловероятно, что Microsoft запустит новый процессор XSLT 2.0 без редактора и отладчика XSLT 2.0 и отладчика, встроенного в Visual Studio, поэтому, настолько немного усилий / время, необходимое для изменения их «несоблюдения».
Итак, вместо этого у нас есть Saxon.net, который имеет неимнозную репутацию соответствия стандартам и обеспечивает превосходные варианты расширяемости для .NET.
Корпорация Майкрософт не планирует выпускать поддержку XPath/XSLT 2.0 в .NET.
XQSharp предоставляет стороннюю реализацию XPath 2,0, XSLT 2,0 и XQuery для .NET.
[edit: XQSharp 2.0 beta (с XSLT 2.0) выпущен]