Получение всех свойств класса IDynamicMetaObjectProvider, когда GetDynamicMemberNames не реализован - PullRequest
2 голосов
/ 18 августа 2010

Можно ли найти все доступные поля / свойства, которые в настоящее время существуют в динамическом объекте?

Я хочу сделать это для всех объектов, которые реализуют IDynamicMetaObjectProvider .Использование GetDynamicMemberNames () не подходит, поскольку не требует полной реализации пользовательских динамических классов, оно может просто возвращать пустое перечисление.

Я не хочу проверятьна наличие именованного свойства, т. е. «Name» или «Id», но я хочу получить список всех текущих свойств, возможно ли это?

1 Ответ

7 голосов
/ 18 августа 2010

Я не понимаю, как вы могли бы, нет - динамический класс может делать то, что ему нравится, когда дело доходит до того, что свойство считается «существующим» или нет.Вы могли бы написать динамический класс, который разрешал бы доступ к любому имени свойства, если оно до полудня, и ничего к полудню, например.

GetDynamicMemberNames() - это способ, которым динамическийобъект предназначен для рекламы своих членов ... если он этого не делает, вы в основном пытаетесь решить проблему остановки, чтобы найти каждого "известного" члена.

...