C# 如何获取nhibernate DynamicProxy代理类型的全名?

C# 如何获取nhibernate DynamicProxy代理类型的全名?,c#,.net,nhibernate,castle-windsor,proxy-classes,C#,.net,Nhibernate,Castle Windsor,Proxy Classes,我使用netdatacontractserializer和SerializationBinder在客户端为nhibernate代理创建自己的运行时类型 除了我被迫假设域模型中每个名称只有一个类型之外,这一切都是有效的。i、 我被迫忽略名称空间。原因是SerializationBinder仅允许我访问“MyObjectProxyb04Bae2d04D34de8A98B1D93BF24428CC”和“DynamicProxyGenAssembly2,版本=0.0.0.0,区域性=中性,PublicK

我使用netdatacontractserializer和SerializationBinder在客户端为nhibernate代理创建自己的运行时类型

除了我被迫假设域模型中每个名称只有一个类型之外,这一切都是有效的。i、 我被迫忽略名称空间。原因是SerializationBinder仅允许我访问“MyObjectProxyb04Bae2d04D34de8A98B1D93BF24428CC”和“DynamicProxyGenAssembly2,版本=0.0.0.0,区域性=中性,PublicKeyToken=null”以派生父tyep

如您所见,没有任何数据指向父类型的命名空间


我已经考虑过更改生成的代理的名称(包括名称空间前缀),但这似乎是硬编码的。

您可以将代理强制转换为INHibernateProxy并获取持久的底层类:

((INHibernateProxy)proxy).HibernateLazyInitializer.PersistentClass

我认为关于您为什么尝试更改代理对象的类名的一些详细信息会很有用。请发布另一个问题:“我如何才能找到DynamicProxy代理的代理类型?”,这与编辑后的原始问题完全无关。mausch很好。我已经改写了这个问题。看起来你必须从这个问题中提出2到3个具体的问题来回答你的整个问题。。。否则这个问题会不断改变,答案也会改变,让每个人都感到沮丧。代理问题已经得到了回答,现在为序列化部分发布另一个问题。请不要进一步删除或更改此问题,因为它可能用于将来的参考。序列化之后,我如何在客户端执行此操作。我不知道SerializationBinder的任何内容,我只是回答您的nhibernate代理问题。