# Sandbox.Internal.TypeLibrary

- Kind: class
- Namespace: `Sandbox.Internal`
- Assembly: `Sandbox.Reflection`

## Methods

- [`CheckValidationAttributes`](/api/Sandbox.Internal.TypeLibrary/CheckValidationAttributes): Check if all properties of this class instance pass their `T:System.ComponentModel.DataAnnotations.ValidationAttribute`.
- [`Create`](/api/Sandbox.Internal.TypeLibrary/Create): Create a type instance by name and is assignable to given type, with optional arguments for its constructor.
- [`CreateProperty`](/api/Sandbox.Internal.TypeLibrary/CreateProperty)
- [`FindStaticMethods`](/api/Sandbox.Internal.TypeLibrary/FindStaticMethods): Find all static methods with given name.
- [`FromBytes`](/api/Sandbox.Internal.TypeLibrary/FromBytes): Deserialize this from bytes. If the type is unknown, T can be an object.
- [`GetAttribute`](/api/Sandbox.Internal.TypeLibrary/GetAttribute): Get single attribute of type, from type
- [`GetAttributes`](/api/Sandbox.Internal.TypeLibrary/GetAttributes): Get all attributes of this type
- [`GetEnumDescription`](/api/Sandbox.Internal.TypeLibrary/GetEnumDescription): Get a class describing the values of an enum
- [`GetGenericArguments`](/api/Sandbox.Internal.TypeLibrary/GetGenericArguments): Performs `M:System.Type.GetGenericArguments` with access control checks. Will throw if any arguments aren't in the whitelist.
- [`GetGenericTypes`](/api/Sandbox.Internal.TypeLibrary/GetGenericTypes): Get a list of types that implement this generic type
- [`GetMemberAttributes`](/api/Sandbox.Internal.TypeLibrary/GetMemberAttributes): Find all member attributes (instances) with given attribute type.
- [`GetMemberByIdent`](/api/Sandbox.Internal.TypeLibrary/GetMemberByIdent): Find a [Sandbox.MemberDescription](/api/Sandbox.MemberDescription) by its [Sandbox.MemberDescription.Identity](/api/Sandbox.MemberDescription/Identity)
- [`GetMethodsWithAttribute`](/api/Sandbox.Internal.TypeLibrary/GetMethodsWithAttribute): Find all methods with given attribute, optionally non static
- [`GetPropertyDescriptions`](/api/Sandbox.Internal.TypeLibrary/GetPropertyDescriptions): Get a list of properties on the target object. To do this we'll just call GetDescription( obj.GetType() ) and return .Properties. Will return an empty array if we can't access these properties.
- [`GetPropertyValue`](/api/Sandbox.Internal.TypeLibrary/GetPropertyValue): Try to get a value from a property on an object
- [`GetSerializedObject`](/api/Sandbox.Internal.TypeLibrary/GetSerializedObject): Get a SerializedObject version of this object
- [`GetType`](/api/Sandbox.Internal.TypeLibrary/GetType): Get the description for a specific type. This will return null if you don't have whitelist access to the type. For constructed generic types, this will give you the description of the generic type definition.
- [`GetTypeByIdent`](/api/Sandbox.Internal.TypeLibrary/GetTypeByIdent): Find a TypeDescription by name
- [`GetTypeIdent`](/api/Sandbox.Internal.TypeLibrary/GetTypeIdent): Get hash of a type.
- [`GetTypes`](/api/Sandbox.Internal.TypeLibrary/GetTypes): Get descriptions for all types that derive from T
- [`GetTypesWithAttribute`](/api/Sandbox.Internal.TypeLibrary/GetTypesWithAttribute): Get all attributes of this type. Returns the type description along with the attribute. This will also return types that inherit the attribute from base classes too.
- [`HasAttribute`](/api/Sandbox.Internal.TypeLibrary/HasAttribute): Return true if this type contains this attribute
- [`SetProperty`](/api/Sandbox.Internal.TypeLibrary/SetProperty): Set a named property on given object. Will perform extra magic for string inputs and try to convert to target property type.
- [`ToBytes`](/api/Sandbox.Internal.TypeLibrary/ToBytes): Serialize this value to bytes, where possible
- [`TryGetType`](/api/Sandbox.Internal.TypeLibrary/TryGetType): Find the description type
