Class FileInfoExtensions
- Namespace
- Cuemon.Extensions.Data.Integrity
- Assembly
- Cuemon.Extensions.Data.Integrity.dll
Extension methods for the FileInfo class.
public static class FileInfoExtensions
- Inheritance
-
FileInfoExtensions
Examples
The following example demonstrates generating a
using System;
using System.IO;
using System.Text;
using Cuemon.Data.Integrity;
using Cuemon.Extensions.Data.Integrity;
namespace MyApp.Examples;
public class FileInfoExtensionsExample
{
public static void Main()
{
// Create a temporary file to work with
string tempFile = Path.GetTempFileName();
File.WriteAllText(tempFile, "Hello, World!", Encoding.UTF8);
try
{
var fileInfo = new FileInfo(tempFile);
// Generate a CacheValidator with default FNV-1a/128 hashing
CacheValidator validator = fileInfo.GetCacheValidator();
Console.WriteLine($"File: {fileInfo.Name}");
Console.WriteLine($"Created (UTC): {validator.Created}");
Console.WriteLine($"Modified (UTC): {validator.Modified}");
Console.WriteLine($"Checksum (hex): {validator.Checksum.ToHexadecimalString()}");
Console.WriteLine($"Validation: {validator.Validation}");
// Combine with an additional semantic checksum
validator.CombineWith(Encoding.UTF8.GetBytes("additional-context"));
Console.WriteLine($"Combined checksum: {validator.Checksum.ToHexadecimalString()}");
}
finally
{
File.Delete(tempFile);
}
}
}
Methods
GetCacheValidator(FileInfo, Func<Hash>, Action<FileChecksumOptions>)
Returns a CacheValidator from the specified file.
public static CacheValidator GetCacheValidator(this FileInfo file, Func<Hash> hashFactory = null, Action<FileChecksumOptions> setup = null)
Parameters
fileFileInfoThe FileInfo to extend.
hashFactoryFunc<Hash>The function delegate that is invoked to produce the HashResult. Default is CreateFnv128(Action<FowlerNollVoOptions>).
setupAction<FileChecksumOptions>The FileChecksumOptions which may be configured.
Returns
- CacheValidator
A CacheValidator that represents either a weak, medium or strong integrity check of the specified
file.
Remarks
Should the specified file trigger any sort of exception, a Default is returned.
Exceptions
- ArgumentNullException
fileis null.