FsXaml


ProvidedTypeDefinition

Namespace: ProviderImplementation.ProvidedTypes

Represents a provided type definition.

Constructors

ConstructorDescription
new(className, baseType)
Signature: (className:string * baseType:Type option) -> ProvidedTypeDefinition

Create a new provided type definition, to be located as a nested type in some type definition.

CompiledName: .ctor

new(...)
Signature: (assembly:Assembly * namespaceName:string * className:string * baseType:Type option) -> ProvidedTypeDefinition

Create a new provided type definition in a namespace.

CompiledName: .ctor

Instance members

Instance memberDescription
AddAssemblyTypesAsNestedTypesDelayed(...)
Signature: (assemblyFunction:(unit -> Assembly)) -> unit

Add the types of the generated assembly as generative types, where types in namespaces get hierarchically positioned as nested types.

AddCustomAttribute(arg1)
Signature: CustomAttributeData -> unit

Add a custom attribute to the provided type definition.

AddDefinitionLocation(...)
Signature: (line:int * column:int * filePath:string) -> unit

Add definition location information to the provided type definition.

AddInterfaceImplementation(...)
Signature: interfaceType:Type -> unit

Add the given type as an implemented interface.

AddInterfaceImplementationsDelayed(...)
Signature: (interfacesFunction:(unit -> Type list)) -> unit

Add the given function as a set of on-demand computed interfaces.

AddMember(memberInfo)
Signature: memberInfo:MemberInfo -> unit

Add a method, property, nested type or other member to a ProvidedTypeDefinition

AddMemberDelayed(memberFunction)
Signature: (memberFunction:(unit -> '?7491)) -> unit
Type parameters: '?7491

Add a member to a ProvidedTypeDefinition, delaying computation of the members until required by the compilation context.

AddMembers(memberInfos)
Signature: (memberInfos:'?7489 list) -> unit
Type parameters: '?7489

Add a set of members to a ProvidedTypeDefinition

AddMembersDelayed(membersFunction)
Signature: (membersFunction:(unit -> '?7493 list)) -> unit
Type parameters: '?7493

Add a set of members to a ProvidedTypeDefinition, delaying computation of the members until required by the compilation context.

AddObsoleteAttribute(message, isError)
Signature: (message:string * isError:bool option) -> unit

Add a 'Obsolete' attribute to this provided type definition

AddXmlDoc(xmlDoc)
Signature: xmlDoc:string -> unit

Add XML documentation information to this provided constructor

AddXmlDocComputed(xmlDocFunction)
Signature: (xmlDocFunction:(unit -> string)) -> unit

Add XML documentation information to this provided constructor, where the computation of the documentation is delayed until necessary The documentation is re-computed every time it is required.

AddXmlDocDelayed(xmlDocFunction)
Signature: (xmlDocFunction:(unit -> string)) -> unit

Add XML documentation information to this provided constructor, where the computation of the documentation is delayed until necessary. The documentation is only computed once.

DefineMethodOverride(...)
Signature: (methodInfoBody:ProvidedMethod * methodInfoDeclaration:MethodInfo) -> unit

Specifies that the given method body implements the given method declaration.

DefineStaticParameters(...)
Signature: (parameters:ProvidedStaticParameter list * instantiationFunction:(string -> obj [] -> ProvidedTypeDefinition)) -> unit

Define the static parameters available on a statically parameterized type

HideObjectMethods()
Signature: unit -> bool

Suppress Object entries in intellisense menus in instances of this provided type

CompiledName: set_HideObjectMethods

HideObjectMethods()
Signature: unit -> unit

Suppress Object entries in intellisense menus in instances of this provided type

CompiledName: set_HideObjectMethods

IsErased()
Signature: unit -> bool

Get or set a flag indicating if the ProvidedTypeDefinition is erased

CompiledName: set_IsErased

IsErased()
Signature: unit -> unit

Get or set a flag indicating if the ProvidedTypeDefinition is erased

CompiledName: get_IsErased

MakeParametricType(name, args)
Signature: (name:string * args:obj []) -> ProvidedTypeDefinition
NonNullable()
Signature: unit -> bool

Disallows the use of the null literal.

CompiledName: set_NonNullable

NonNullable()
Signature: unit -> unit

Disallows the use of the null literal.

CompiledName: set_NonNullable

ResetEnclosingType(enclosingType)
Signature: enclosingType:Type -> unit

Reset the enclosing type (for generated nested types)

SetAttributes(arg1)
Signature: TypeAttributes -> unit

Set the attributes on the provided type. This fully replaces the default TypeAttributes.

SetBaseType(arg1)
Signature: Type -> unit

Set the base type

SetBaseTypeDelayed(baseTypeFunction)
Signature: (baseTypeFunction:(unit -> Type)) -> unit

Set the base type to a lazily evaluated value. Use this to delay realization of the base type as late as possible.

SetEnumUnderlyingType(arg1)
Signature: Type -> unit

Set underlying type for generated enums

SuppressRelocation()
Signature: unit -> bool

Get or set a flag indicating if the ProvidedTypeDefinition has type-relocation suppressed

CompiledName: set_SuppressRelocation

SuppressRelocation()
Signature: unit -> unit

Get or set a flag indicating if the ProvidedTypeDefinition has type-relocation suppressed

CompiledName: get_SuppressRelocation

Static members

Static memberDescription
EraseType(typ)
Signature: typ:Type -> Type

Emulate the F# type provider type erasure mechanism to get the actual (erased) type. We erase ProvidedTypes to their base type and we erase array of provided type to array of base type. In the case of generics all the generic type arguments are also recursively replaced with the erased-to types

Logger
Signature: (string -> unit) option ref

Get or set a utility function to log the creation of root Provided Type. Used to debug caching/invalidation.

CompiledName: get_Logger

Fork me on GitHub