Logo F# Compiler Guide

FSharpMemberOrFunctionOrValue Type

A subtype of F# symbol that represents an F# method, property, event, function or value, including extension members.

Instance members

Instance member Description

this.ApparentEnclosingEntity

Full Usage: this.ApparentEnclosingEntity

Returns: FSharpEntity option

Get the logical enclosing entity, which for an extension member is type being extended

Returns: FSharpEntity option

this.ApparentEnclosingType

Full Usage: this.ApparentEnclosingType

Returns: FSharpType

Get the logical enclosing type, which for an extension member is type being extended

Returns: FSharpType

this.CompiledName

Full Usage: this.CompiledName

Returns: string

Get the member name in compiled code

Returns: string

this.CurriedParameterGroups

Full Usage: this.CurriedParameterGroups

Returns: IList<IList<FSharpParameter>>

List of list of parameters, where each nested item represents a defined parameter

Typically, there is only one nested list. However, code such as 'f (a, b) (c, d)' contains two groups, each with two parameters. In that example, there is a list made up of two lists, each with a parameter.

Returns: IList<IList<FSharpParameter>>

this.DeclarationLocation

Full Usage: this.DeclarationLocation

Returns: range

Get the declaration location of the member, function or value

Returns: range

this.DeclaringEntity

Full Usage: this.DeclaringEntity

Returns: FSharpEntity option

Get the enclosing entity for the definition

Returns: FSharpEntity option

this.DisplayName

Full Usage: this.DisplayName

Returns: string

Get the name as presented in F# error messages and documentation

Returns: string

this.EventAddMethod

Full Usage: this.EventAddMethod

Returns: FSharpMemberOrFunctionOrValue

Get an associated add method of an event

Returns: FSharpMemberOrFunctionOrValue

this.EventDelegateType

Full Usage: this.EventDelegateType

Returns: FSharpType

Get an associated delegate type of an event

Returns: FSharpType

this.EventForFSharpProperty

Full Usage: this.EventForFSharpProperty

Returns: FSharpMemberOrFunctionOrValue option

Gets the event symbol implied by the use of a property, for the case where the property is actually an F#-declared CLIEvent. Uses of F#-declared events are considered to be properties as far as the language specification and this API are concerned.

Returns: FSharpMemberOrFunctionOrValue option

this.EventIsStandard

Full Usage: this.EventIsStandard

Returns: bool

Indicate if an event can be considered to be a property for the F# type system of type IEvent or IDelegateEvent. In this case ReturnParameter will have a type corresponding to the property type. For non-standard events, ReturnParameter will have a type corresponding to the delegate type.

Returns: bool

this.EventRemoveMethod

Full Usage: this.EventRemoveMethod

Returns: FSharpMemberOrFunctionOrValue

Get an associated remove method of an event

Returns: FSharpMemberOrFunctionOrValue

this.FormatLayout

Full Usage: this.FormatLayout

Parameters:
Returns: TaggedText[]

Format the type using the rules of the given display context

displayContext : FSharpDisplayContext
Returns: TaggedText[]

this.FullType

Full Usage: this.FullType

Returns: FSharpType

Get the full type of the member, function or value when used as a first class value

Returns: FSharpType

this.FullTypeSafe

Full Usage: this.FullTypeSafe

Returns: FSharpType option

Safe version of `FullType`.

Returns: FSharpType option

this.GenericParameters

Full Usage: this.GenericParameters

Returns: IList<FSharpGenericParameter>

Get the typars of the member, function or value

Returns: IList<FSharpGenericParameter>

this.GetOverloads

Full Usage: this.GetOverloads

Parameters:
    matchParameterNumber : bool

Returns: IList<FSharpMemberOrFunctionOrValue> option

Gets the overloads for the current method.

matchParameterNumber : bool
Returns: IList<FSharpMemberOrFunctionOrValue> option

this.GetReturnTypeLayout

Full Usage: this.GetReturnTypeLayout

Parameters:
Returns: TaggedText[] option

Format the type using the rules of the given display context

displayContext : FSharpDisplayContext
Returns: TaggedText[] option

this.GetValSignatureText

Full Usage: this.GetValSignatureText

Parameters:
Returns: string option

Get the signature text to include this Symbol into an existing signature file.

displayContext : FSharpDisplayContext
m : range
Returns: string option

this.GetWitnessPassingInfo

Full Usage: this.GetWitnessPassingInfo

Returns: (string * IList<FSharpParameter>) option

Check if this method has an entrypoint that accepts witness arguments and if so return the name of that entrypoint and information about the additional witness arguments

Returns: (string * IList<FSharpParameter>) option

this.GetterMethod

Full Usage: this.GetterMethod

Returns: FSharpMemberOrFunctionOrValue

Get an associated getter method of the property

Returns: FSharpMemberOrFunctionOrValue

this.HasGetterMethod

Full Usage: this.HasGetterMethod

Returns: bool

Indicates if this is a property and there exists an associated getter method

Returns: bool

this.HasSetterMethod

Full Usage: this.HasSetterMethod

Returns: bool

Indicates if this is a property and there exists an associated setter method

Returns: bool

this.HasSignatureFile

Full Usage: this.HasSignatureFile

Returns: bool

Indicates if the value has a signature file counterpart

Returns: bool

this.ImplementedAbstractSignatures

Full Usage: this.ImplementedAbstractSignatures

Returns: IList<FSharpAbstractSignature>

Gets the list of the abstract slot signatures implemented by the member

Returns: IList<FSharpAbstractSignature>

this.InlineAnnotation

Full Usage: this.InlineAnnotation

Returns: FSharpInlineAnnotation

Get a result indicating if this is a must-inline value

Returns: FSharpInlineAnnotation

this.IsActivePattern

Full Usage: this.IsActivePattern

Returns: bool

Indicates if this value or member is an F# active pattern

Returns: bool

this.IsBaseValue

Full Usage: this.IsBaseValue

Returns: bool

Indicates if this is "base" in "base.M(...)"

Returns: bool

this.IsCompilerGenerated

Full Usage: this.IsCompilerGenerated

Returns: bool

Indicates if this is a compiler generated value

Returns: bool

this.IsConstructor

Full Usage: this.IsConstructor

Returns: bool

Indicates if this is a constructor.

Returns: bool

this.IsConstructorThisValue

Full Usage: this.IsConstructorThisValue

Returns: bool

Indicates if this is the "x" in "type C() as x = ..."

Returns: bool

this.IsDispatchSlot

Full Usage: this.IsDispatchSlot

Returns: bool

Indicates if this is an abstract member?

Returns: bool

this.IsEvent

Full Usage: this.IsEvent

Returns: bool

Indicates if this is an event member

Returns: bool

this.IsEventAddMethod

Full Usage: this.IsEventAddMethod

Returns: bool

Indicates if this is an add method for an event

Returns: bool

this.IsEventRemoveMethod

Full Usage: this.IsEventRemoveMethod

Returns: bool

Indicates if this is a remove method for an event

Returns: bool

this.IsExplicitInterfaceImplementation

Full Usage: this.IsExplicitInterfaceImplementation

Returns: bool

Indicates if this is an explicit implementation of an interface member

Returns: bool

this.IsExtensionMember

Full Usage: this.IsExtensionMember

Returns: bool

Indicates if this is an extension member?

Returns: bool

this.IsFunction

Full Usage: this.IsFunction

Returns: bool

Indicated if this is a function

Returns: bool

this.IsImplicitConstructor

Full Usage: this.IsImplicitConstructor

Returns: bool

Indicates if this is an implicit constructor?

Returns: bool

this.IsInstanceMember

Full Usage: this.IsInstanceMember

Returns: bool

Indicates if this is an instance member, when seen from F#?

Returns: bool

this.IsInstanceMemberInCompiledCode

Full Usage: this.IsInstanceMemberInCompiledCode

Returns: bool

Indicates if this is an instance member in compiled code. Explanatory note: some members such as IsNone and IsSome on types with UseNullAsTrueValue appear as instance members in F# code but are compiled as static members.

Returns: bool

this.IsMember

Full Usage: this.IsMember

Returns: bool

Indicates if this is a member, including extension members?

Returns: bool

this.IsMemberThisValue

Full Usage: this.IsMemberThisValue

Returns: bool

Indicates if this is the "x" in "member x.M = ..."

Returns: bool

this.IsMethod

Full Usage: this.IsMethod

Returns: bool

Indicates if this is a method member

Returns: bool

this.IsModuleValueOrMember

Full Usage: this.IsModuleValueOrMember

Returns: bool

Indicates if this is a module or member value

Returns: bool

this.IsMutable

Full Usage: this.IsMutable

Returns: bool

Indicates if this is a mutable value

Returns: bool

this.IsOverrideOrExplicitInterfaceImplementation

Full Usage: this.IsOverrideOrExplicitInterfaceImplementation

Returns: bool

Indicates if this is an 'override', 'default' or an explicit implementation of an interface member

Returns: bool

this.IsProperty

Full Usage: this.IsProperty

Returns: bool

Indicates if this is a property member

Returns: bool

this.IsPropertyGetterMethod

Full Usage: this.IsPropertyGetterMethod

Returns: bool

Indicates if this is a getter method for a property, or a use of a property in getter mode

Returns: bool

this.IsPropertySetterMethod

Full Usage: this.IsPropertySetterMethod

Returns: bool

Indicates if this is a setter method for a property, or a use of a property in setter mode

Returns: bool

this.IsRefCell

Full Usage: this.IsRefCell

Returns: bool

Indicates if this is a ref cell

Returns: bool

this.IsReferencedValue

Full Usage: this.IsReferencedValue

Returns: bool

Indicates if this is a value that has been referenced

Returns: bool

this.IsTypeFunction

Full Usage: this.IsTypeFunction

Returns: bool

Indicates if this is an F# type function

Returns: bool

this.IsUnionCaseTester

Full Usage: this.IsUnionCaseTester

Returns: bool

Indicates if the property or getter method is part of a IsABC union case tester implied by a union case definition

Returns: bool

this.IsUnresolved

Full Usage: this.IsUnresolved

Returns: bool

Indicates if the member, function or value is in an unresolved assembly

Returns: bool

this.IsValCompiledAsMethod

Full Usage: this.IsValCompiledAsMethod

Returns: bool

Indicated if this is a value compiled to a method

Returns: bool

this.IsValue

Full Usage: this.IsValue

Returns: bool

Indicated if this is a value

Returns: bool

this.LiteralValue

Full Usage: this.LiteralValue

Returns: objnull option

Indicates if this is a [] value, and if so what value? (may be null)

Returns: objnull option

this.LogicalName

Full Usage: this.LogicalName

Returns: string

Get the logical name of the member

Returns: string

this.ReturnParameter

Full Usage: this.ReturnParameter

Returns: FSharpParameter

this.SetterMethod

Full Usage: this.SetterMethod

Returns: FSharpMemberOrFunctionOrValue

Get an associated setter method of the property

Returns: FSharpMemberOrFunctionOrValue

this.TryGetFullCompiledOperatorNameIdents

Full Usage: this.TryGetFullCompiledOperatorNameIdents

Returns: string[] option

Full operator compiled name.

Returns: string[] option

this.TryGetFullDisplayName

Full Usage: this.TryGetFullDisplayName

Returns: string option

Full name with last part replaced with display name.

Returns: string option

this.XmlDoc

Full Usage: this.XmlDoc

Returns: FSharpXmlDoc

Get the XML documentation for the entity

Returns: FSharpXmlDoc

this.XmlDocSig

Full Usage: this.XmlDocSig

Returns: string

XML documentation signature for the value, used for .xml file lookup for compiled code

Returns: string

Inherited members

Inherited from FSharpSymbol

Instance members

Instance member Description

this.GetEffectivelySameAsHash

Full Usage: this.GetEffectivelySameAsHash

Returns: int

A hash compatible with the IsEffectivelySameAs relation

Returns: int

this.HasAttribute

Full Usage: this.HasAttribute

Returns: bool
Type parameters: 'T

Indicates if this symbol has an attribute matching the full name of the given type parameter

Returns: bool

this.IsAccessible

Full Usage: this.IsAccessible

Parameters:
Returns: bool

Computes if the symbol is accessible for the given accessibility rights

arg0 : FSharpAccessibilityRights
Returns: bool

this.IsEffectivelySameAs

Full Usage: this.IsEffectivelySameAs

Parameters:
Returns: bool

Return true if two symbols are effectively the same when referred to in F# source code text. This sees through signatures (a symbol in a signature will be considered effectively the same as the matching symbol in an implementation). In addition, other equivalences are applied when the same F# source text implies the same declaration name - for example, constructors are considered to be effectively the same symbol as the corresponding type definition. This is the relation used by GetUsesOfSymbol and GetUsesOfSymbolInFile.

other : FSharpSymbol
Returns: bool

this.TryGetAttribute

Full Usage: this.TryGetAttribute

Returns: FSharpAttribute option
Type parameters: 'T

Try to get an attribute matching the full name of the given type parameter

Returns: FSharpAttribute option

this.DeclarationLocation

Full Usage: this.DeclarationLocation

Returns: range option

Get the declaration location for the symbol

Returns: range option

this.SignatureLocation

Full Usage: this.SignatureLocation

Returns: range option

Get the signature location for the symbol if it was declared in an implementation

Returns: range option

this.IsExplicitlySuppressed

Full Usage: this.IsExplicitlySuppressed

Returns: bool
Returns: bool

this.Accessibility

Full Usage: this.Accessibility

Returns: FSharpAccessibility
Modifiers: abstract

Get the declared accessibility of the symbol, if any

Returns: FSharpAccessibility

this.Assembly

Full Usage: this.Assembly

Returns: FSharpAssembly

Get the assembly declaring this symbol

Returns: FSharpAssembly

this.ImplementationLocation

Full Usage: this.ImplementationLocation

Returns: range option

Get the implementation location for the symbol if it was declared in a signature that has an implementation

Returns: range option

this.Attributes

Full Usage: this.Attributes

Returns: IList<FSharpAttribute>
Modifiers: abstract

Get the attributes for the symbol, if any

Returns: IList<FSharpAttribute>

this.FullName

Full Usage: this.FullName

Returns: string

Get a textual representation of the full name of the symbol. The text returned for some symbols may not be a valid identifier path in F# code, but rather a human-readable representation of the symbol.

Returns: string

this.DisplayNameCore

Full Usage: this.DisplayNameCore

Returns: string

Gets the display name for the symbol where double backticks are not added for non-identifiers

Returns: string

this.DisplayName

Full Usage: this.DisplayName

Returns: string

Gets the display name for the symbol. Double backticks are added if the name is not a valid identifier. For FSharpParameter symbols without a name for the parameter, this returns "````"

Returns: string

Type something to start searching.