Source Line, File, and Path Identifiers
The identifiers __LINE__
, __SOURCE_DIRECTORY__
and __SOURCE_FILE__
are built-in values that enable you to access the source line number, directory and file name in your code.
Syntax
__LINE__
__SOURCE_DIRECTORY__
__SOURCE_FILE__
Remarks
Each of these values has type string
.
The following table summarizes the source line, file, and path identifiers that are available in F#. These identifiers are not preprocessor macros; they are built-in values that are recognized by the compiler.
Predefined identifier | Description |
---|---|
__LINE__ |
Evaluates to the current line number, considering #line directives. |
__SOURCE_DIRECTORY__ |
Evaluates to the current full path of the source directory, considering #line directives. |
__SOURCE_FILE__ |
Evaluates to the current source file name, without its path, considering #line directives. |
For more information about the #line
directive, see Compiler Directives.
Example
The following code example demonstrates the use of these values.
let printSourceLocation() =
printfn "Line: %s" __LINE__
printfn "Source Directory: %s" __SOURCE_DIRECTORY__
printfn "Source File: %s" __SOURCE_FILE__
printSourceLocation()
Output:
Line: 4
Source Directory: C:\Users\username\Documents\Visual Studio 2017\Projects\SourceInfo\SourceInfo
Source File: Program.fs
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for