SQLProvider


ProvidedTypeDefinition

Namespace: ProviderImplementation.ProvidedTypes
Attributes:
[<Class>]

Represents a provided type definition.

Constructors

ConstructorDescription
new(...)
Signature: (assembly:Assembly * namespaceName:string * className:string * baseType:Type option * hideObjectMethods:bool option * nonNullable:bool option * isErased:bool option * isSealed:bool option * isInterface:bool option * isAbstract:bool option) -> ProvidedTypeDefinition

When making a cross-targeting type provider, use this method instead of the corresponding ProvidedTypeDefinition constructor from ProvidedTypes

CompiledName: .ctor

new(...)
Signature: (className:string * baseType:Type option * hideObjectMethods:bool option * nonNullable:bool option * isErased:bool option * isSealed:bool option * isInterface:bool option * isAbstract:bool option) -> ProvidedTypeDefinition

When making a cross-targeting type provider, use this method instead of the corresponding ProvidedTypeDefinition constructor from ProvidedTypes

CompiledName: .ctor

Instance members

Instance memberDescription
x.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.

x.AddCustomAttribute(arg1)
Signature: CustomAttributeData -> unit

Add a custom attribute to the provided type definition.

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

Add definition location information to the provided type definition.

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

Add the given type as an implemented interface.

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

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

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

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

x.AddMemberDelayed(memberFunction)
Signature: (memberFunction:(unit -> 'a)) -> unit
Type parameters: 'a

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

x.AddMembers(memberInfos)
Signature: (memberInfos:'a list) -> unit
Type parameters: 'a

Add a set of members to a ProvidedTypeDefinition

x.AddMembersDelayed(membersFunction)
Signature: (membersFunction:(unit -> 'a list)) -> unit
Type parameters: 'a

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

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

Add a 'Obsolete' attribute to this provided type definition

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

Add XML documentation information to this provided constructor

x.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.

x.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.

x.ApplyStaticArguments(name, args)
Signature: (name:string * args:obj []) -> ProvidedTypeDefinition
x.DefineMethodOverride(...)
Signature: (methodInfoBody:ProvidedMethod * methodInfoDeclaration:MethodInfo) -> unit

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

x.DefineMethodOverridesDelayed(arg1)
Signature: ((unit -> (ProvidedMethod * MethodInfo) list)) -> unit

Specifies that the given method bodies implement the given method declarations

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

Define the static parameters available on a statically parameterized type

x.HideObjectMethods
Signature: bool

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

CompiledName: get_HideObjectMethods

x.IsErased
Signature: bool

Get a flag indicating if the ProvidedTypeDefinition is erased

CompiledName: get_IsErased

x.NonNullable
Signature: bool

Disallows the use of the null literal.

CompiledName: get_NonNullable

x.SetAttributes(arg1)
Signature: TypeAttributes -> unit

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

x.SetBaseType(arg1)
Signature: Type -> unit

Set the base type

x.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.

x.SetEnumUnderlyingType(arg1)
Signature: Type -> unit

Set underlying type for generated enums

x.SuppressRelocation()
Signature: unit -> bool
Attributes:
[<Experimental("SuppressRelocation is a workaround and likely to be removed")>]

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

CompiledName: set_SuppressRelocation

x.SuppressRelocation()
Signature: unit -> unit
Attributes:
[<Experimental("SuppressRelocation is a workaround and likely to be removed")>]

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

CompiledName: get_SuppressRelocation

Static members

Static memberDescription
ProvidedTypeDefinition.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

ProvidedTypeDefinition.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