当前位置: 首页 > 编程语言 > C#

获取代理对象的基类型分享

时间:2023-04-11 02:06:23 C#

获取代理对象的基类型我正在使用CastleDynamicProxy,我的ViewModel是一个代理如下:{}}我的视图模型的代理看起来像这样:{Name="IRootViewModelProxyffecb133f590422098ca7c0ac13b8f98"FullName="IRootViewModelProxyffecb133f590422098ca7c0ac13b8f98"}我想获取被代理的实际类型的实际类型或命名空间。有没有办法做到这一点?我想要返回类型MyApplication.ViewModels.MyViewModel的东西。如果我使用concreate类作为代理,BaseType返回被代理的实际类,但是当使用接口时,BaseType返回System.Object。看起来您可以执行以下操作来获取实际类型:(代理为IProxyTargetAccessor).DynProxyGetTarget()。GetType()如果你代理的是一个类而不是一个接口,你可以像这样获取底层类型:varunproxiedType=ProxyUtil.GetUnproxiedType(proxy);如果您无权访问ProxyUtil::,这也将起作用:获取代理对象基本类型共享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注——如果(代理==null)返回source.GetType();返回代理.GetType().BaseType;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

猜你喜欢