Как определить в C #, является ли объект исходным объектом или динамическим прокси исходного объекта?
Я сталкиваюсь с этой необходимостью, играя с nhibernate.
Ответ здесь в предыдущем вопросе.
Вы можете определить, является ли класс NHibernate прокси, приведя его к (неудивительно) INHibernateProxy. Если вам нужно получить базовый «реальный» объект, используйте: Session.GetSessionImplementation (). PersistenceContext.Unproxy (proxiedObject) Вам не нужно проверять прокси на вызовите Unproxy; возвращает оригинал параметр, если это не прокси.
Вы можете определить, является ли класс NHibernate прокси, приведя его к (неудивительно) INHibernateProxy.
Если вам нужно получить базовый «реальный» объект, используйте:
Session.GetSessionImplementation (). PersistenceContext.Unproxy (proxiedObject) Вам не нужно проверять прокси на вызовите Unproxy; возвращает оригинал параметр, если это не прокси.