Table of Contents

Class AotPreserveHelper

Namespace
VpnHood.Net.Toolkit
Assembly
VpnHood.Net.Toolkit.dll

Provides the means to ask the trimmer of a trimmed or AOT-compiled app to keep the types VpnHood's JSON reaches by reflection: the network types and their converters.

public static class AotPreserveHelper
Inheritance
AotPreserveHelper
Inherited Members

Methods

PreserveTypes()

Keeps the types wherever a call to it is kept: the trimmer reads the method's attributes, and the call itself does nothing.

[DynamicDependency((DynamicallyAccessedMemberTypes)-1, typeof(IPEndPoint))]
[DynamicDependency((DynamicallyAccessedMemberTypes)-1, typeof(IPAddress))]
[DynamicDependency((DynamicallyAccessedMemberTypes)-1, typeof(Version))]
[DynamicDependency((DynamicallyAccessedMemberTypes)-1, typeof(TimeSpan))]
[DynamicDependency(DynamicallyAccessedMemberTypes.PublicConstructors, typeof(ArrayConverter<,>))]
[DynamicDependency(DynamicallyAccessedMemberTypes.PublicConstructors, typeof(NullToEmptyArrayConverter<>))]
[DynamicDependency(DynamicallyAccessedMemberTypes.PublicConstructors, typeof(IPAddressConverter))]
[DynamicDependency(DynamicallyAccessedMemberTypes.PublicConstructors, typeof(IPEndPointConverter))]
[DynamicDependency(DynamicallyAccessedMemberTypes.PublicConstructors, typeof(TimeSpanConverter))]
[DynamicDependency(DynamicallyAccessedMemberTypes.PublicConstructors, typeof(VersionConverter))]
[DynamicDependency((DynamicallyAccessedMemberTypes)-1, typeof(IpRange))]
[DynamicDependency(DynamicallyAccessedMemberTypes.PublicConstructors, typeof(IpRangeConverter))]
[DynamicDependency((DynamicallyAccessedMemberTypes)-1, typeof(IPNetwork))]
[DynamicDependency((DynamicallyAccessedMemberTypes)-1, typeof(IpNetwork))]
[DynamicDependency(DynamicallyAccessedMemberTypes.PublicConstructors, typeof(IpNetworkConverter))]
public static void PreserveTypes()