Хотя платформа .NET 4 предоставляет метод Assembly.IsDynamic
, это не относится к .NET 2.0 / 3.5.
Вариант использования прост: для целей ведения журнала я хочу определить имя базового типа объекта, который может быть обернут динамическим прокси без , имеющего какие-либо ссылки на NHibernate или Castle (которые прокси)
Например, у меня может быть CatProxYadaYada
, но меня интересует Cat
.
Какой самый простой способ получить этот тип? Я думал об этом скелете:
var type = obj.GetType();
while (IsProxy_Dynamic_Whatever(obj))
type = type.BaseType;
return type;