Class TypeResolver
Helper class to resolve System.Type from Assembly Qualified Names
Inheritance
Namespace: EPiServer.Data.Dynamic
Assembly: EPiServer.Data.dll
Version: 12.0.3Syntax
public static class TypeResolver : ObjectProperties
AutoResolve
A System.Boolean indicating if type name should be automatically resolved to the System.Type
Declaration
public static bool AutoResolve { get; set; }Property Value
| Type | Description | 
|---|---|
| System.Boolean | 
Remarks
See the GetType(String, Boolean) method for more information
PrivateProbingPath
Declaration
public static string PrivateProbingPath { get; set; }Property Value
| Type | Description | 
|---|---|
| System.String | 
Methods
ClearCache()
Clear the cache of Assembly Qualified Names to types
Declaration
public static void ClearCache()GetType(String)
Declaration
public static Type GetType(string typeName)Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | typeName | 
Returns
| Type | Description | 
|---|---|
| System.Type | 
GetType(String, Boolean)
Tries to resolve the typeName to a System.Type
Declaration
public static Type GetType(string typeName, bool throwOnError)Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | typeName | A typeName for a type, can be an Assembly Qualified Name for a type | 
| System.Boolean | throwOnError | true to throw an exception if the type cannot be found; false to return null | 
Returns
| Type | Description | 
|---|---|
| System.Type | The System.Type with the specified name, if found; otherwise, null | 
Remarks
When the AutoResolve property is set to false then only System.Type.GetType is used to resolve typeName to a System.Type.
This allows assembly redirects to be used as an alternative to the auto resolve mechanism this class supplies.
When set to false then the following sequence is used:
- Try to resolve the typeNameto a System.Type using the System.Type.GetType(System.String,System.Boolean,System.Boolean) method
- If typeNameis a Assembly Qualified Name then all version numbers are removed from thetypeNameand then try again using System.Type.GetType(System.String,System.Boolean,System.Boolean)
- Remove all information except namespace and class names from the Assembly Qualified Name and then try again using System.Type.GetType(System.String,System.Boolean,System.Boolean)
Once an typeNamehas been resolved to a System.Type then that information is cached.
See Also
GetType(String, Boolean, FallbackTypeResolver)
Tries to resolve the typeName to a System.Type
Declaration
public static Type GetType(string typeName, bool throwOnError, FallbackTypeResolver fallbackResolver)Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | typeName | An Assembly Qualified Name for a type | 
| System.Boolean | throwOnError | true to throw an exception if the type cannot be found; false to return null | 
| FallbackTypeResolver | fallbackResolver | The fallback resolver. | 
Returns
| Type | Description | 
|---|---|
| System.Type | The System.Type with the specified name, if found; otherwise, null | 
Remarks
When the AutoResolve property is set to false then only System.Type.GetType is used to resolve an Assembly Qualified Name to a System.Type. This allows assembly redirects to be used as an alternative to the auto resolve mechanism this class supplies. When set to false then the following sequence is used:
- Try to resolve the Assembly Qualified Name to a System.Type using the System.Type.GetType(System.String,System.Boolean,System.Boolean) method
- Remove all version numbers from the Assembly Qualified Name and then try again using System.Type.GetType(System.String,System.Boolean,System.Boolean)
- Remove all information except namespace and class names from the Assembly Qualified Name and then try again using System.Type.GetType(System.String,System.Boolean,System.Boolean) Once an Assembly Qualified Name has been resolved to a System.Type then that information is cached.
