DynamicApis
Provides dynamic access to framework APIs.
using System.IO;
using System.Runtime.CompilerServices;
using System.Xml.Linq;
using System.Xml.XPath;
namespace Namotion.Reflection.Infrastructure
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
internal static class DynamicApis
{
public const bool SupportsFileApis = true;
public const bool SupportsPathApis = true;
public const bool SupportsDirectoryApis = true;
public const bool SupportsXPathApis = true;
public static string DirectoryGetCurrentDirectory()
{
return Directory.GetCurrentDirectory();
}
public static bool FileExists(string filePath)
{
if (string.IsNullOrEmpty(filePath))
return false;
return File.Exists(filePath);
}
public static string FileReadAllText(string filePath)
{
return File.ReadAllText(filePath);
}
public static bool DirectoryExists(string directoryPath)
{
if (string.IsNullOrEmpty(directoryPath))
return false;
return Directory.Exists(directoryPath);
}
public static string[] DirectoryGetAllFiles(string path, string searchPattern)
{
return Directory.GetFiles(path, searchPattern, SearchOption.AllDirectories);
}
public static string[] DirectoryGetFiles(string path, string searchPattern)
{
return Directory.GetFiles(path, searchPattern);
}
public static string PathCombine(string path1, string path2)
{
return Path.Combine(path1, path2);
}
public static string PathGetDirectoryName(string filePath)
{
return Path.GetDirectoryName(filePath);
}
[return: System.Runtime.CompilerServices.Nullable(2)]
public static object XPathEvaluate(XDocument document, string path)
{
return document.XPathEvaluate(path);
}
}
}