如何在C#中确定Object是原始对象还是原始对象的动态代理?
我遇到了与nhibernate一起玩的需要。
答案 0 :(得分:3)
您可以检测某个班级是否是 通过将它投射到NHibernate代理 (不出所料)INHibernateProxy。
如果你需要获得底层证券 “真正的”对象,使用:
Session.GetSessionImplementation()。PersistenceContext.Unproxy(proxiedObject) 您不需要测试代理 致电Unproxy;它返回原始 参数,如果它不是代理。