Идентификаторы Source Line, File и Path

Идентификаторы __LINE____SOURCE_DIRECTORY__ и __SOURCE_FILE__ встроенные значения, позволяющие получить доступ к исходному номеру строки, каталогу и имени файла в коде.

Синтаксис

__LINE__
__SOURCE_DIRECTORY__
__SOURCE_FILE__

Замечания

Каждый из этих значений имеет тип string.

В следующей таблице перечислены идентификаторы исходной строки, файла и пути, доступные в F#. Эти идентификаторы не являются макросами препроцессора; они являются встроенными значениями, распознаваемыми компилятором.

Предопределенный идентификатор Description
__LINE__ Оценивается по текущему номеру строки, учитывая #line директивы.
__SOURCE_DIRECTORY__ Оценивает текущий полный путь к исходному каталогу, учитывая #line директивы.
__SOURCE_FILE__ Оценивает текущее имя исходного файла без его пути, учитывая #line директивы.

Дополнительные сведения об директиве #line см. в разделе "Директивы компилятора".

Пример

В следующем примере кода показано использование этих значений.

let printSourceLocation() =
    printfn "Line: %s" __LINE__
    printfn "Source Directory: %s" __SOURCE_DIRECTORY__
    printfn "Source File: %s" __SOURCE_FILE__
printSourceLocation()

Выходные данные:

Line: 4
Source Directory: C:\Users\username\Documents\Visual Studio 2017\Projects\SourceInfo\SourceInfo
Source File: Program.fs

См. также