JSP я ветвь это, когда я был полным новичком и взял меня только от знания, что Java существовал надежному члену команды в скором времени
пока что у меня есть этот уродливый код
private static bool IsDynamic(Type type)
{
try
{
var location = type.Assembly.Location;
return false;
}
catch (NotSupportedException)
{
return true;
}
}
type.Assembly.FullName.StartsWith("DynamicProxyGenAssembly2")
Похоже, это работает для Касла:
private static bool IsDynamic(Type type)
{
return type.Namespace == null;
}
Вы можете сделать так, чтобы ваш динамический тип реализовывал определенный интерфейс:
public interface IDynamicProxy { }
...
ProxyGenerator generator = new ProxyGenerator();
var classProxy = generator.CreateClassProxy(typeof(Hashtable), new[] {typeof(IDynamicProxy)});
Debug.WriteLine(classProxy is IDynamicProxy);
var interfaceProxy = generator.CreateInterfaceProxyWithoutTarget(typeof(ICollection), new[] { typeof(IDynamicProxy) });
Debug.WriteLine(interfaceProxy is IDynamicProxy);