CallerFilePath
Значение зависит от расположения
исходника на диске - сам путь в
вывод не кладут. Проверяют только,
что строка не пустая. Имя члена -
CallerMemberName,
строка -
CallerLineNumber,
текст аргумента -
CallerArgumentExpression.
Синтаксис
using System.Runtime.CompilerServices;
void Method([CallerFilePath] string path = "")
Пример
Давайте получить путь вызывающего файла:
using System;
using System.Runtime.CompilerServices;
class Program
{
static void Show([CallerFilePath] string path = "")
{
bool res = !string.IsNullOrEmpty(path);
Console.WriteLine(res);
}
static void Main()
{
Show();
}
}
Результат выполнения кода:
True
Пример
Давайте передать путь явно:
using System;
using System.Runtime.CompilerServices;
class Program
{
static void Show([CallerFilePath] string path = "")
{
bool res = path == "abcde";
Console.WriteLine(res);
}
static void Main()
{
Show("abcde");
}
}
Результат выполнения кода:
True
Пример
Давайте вызвать метод из вложенного члена:
using System;
using System.Runtime.CompilerServices;
class Program
{
static void Show([CallerFilePath] string path = "")
{
bool res = !string.IsNullOrEmpty(path);
Console.WriteLine(res);
}
static void Run()
{
Show();
}
static void Main()
{
Run();
}
}
Результат выполнения кода:
True
Смотрите также
-
CallerMemberName,
имя вызывающего -
CallerLineNumber,
строка вызывающего -
CallerArgumentExpression,
текст аргумента -
Obsolete,
устаревший код