Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GenerateProxyType()

static GeneratedTypeInfo System.Reflection.DispatchProxyGenerator.GenerateProxyType ( [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type baseType,
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type interfaceType )
inlinestaticprivate

Definition at line 704 of file DispatchProxyGenerator.cs.

705 {
706 if (!interfaceType.IsInterface)
707 {
709 }
710 if (baseType.IsSealed)
711 {
713 }
714 if (baseType.IsAbstract)
715 {
717 }
718 if (baseType.GetConstructor(Type.EmptyTypes) == null)
719 {
721 }
722 ProxyBuilder proxyBuilder = s_proxyAssembly.CreateProxy("generatedProxy", baseType);
723 Type[] interfaces = interfaceType.GetInterfaces();
724 foreach (Type iface in interfaces)
725 {
726 proxyBuilder.AddInterfaceImpl(iface);
727 }
728 proxyBuilder.AddInterfaceImpl(interfaceType);
729 return proxyBuilder.CreateType();
730 }
static string BaseType_Cannot_Be_Abstract
Definition SR.cs:20
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string InterfaceType_Must_Be_Interface
Definition SR.cs:18
static string BaseType_Must_Have_Default_Ctor
Definition SR.cs:16
static string BaseType_Cannot_Be_Sealed
Definition SR.cs:14
Definition SR.cs:7

References System.SR.BaseType_Cannot_Be_Abstract, System.SR.BaseType_Cannot_Be_Sealed, System.SR.BaseType_Must_Have_Default_Ctor, System.Type.EmptyTypes, System.SR.Format(), System.SR.InterfaceType_Must_Be_Interface, and System.Reflection.DispatchProxyGenerator.s_proxyAssembly.

Referenced by System.Reflection.DispatchProxyGenerator.GetProxyType().