This documentation is also published as Markdown for efficient machine reading: the whole site is indexed at /llms.txt, and every page has a clean Markdown copy under /_llms/. These are generated from the same source and cost far fewer tokens to read than this rendered HTML.

Skip to main content Skip to navigation

IDataFile Pennington.Data

Non-generic facade over a single registered data file. Used by DataFiles to enumerate every DataFileEntry the container has registered without reflecting over the closed generic types. Reloads through IFileWatchAware.

Properties

Name string
Logical name supplied at registration; lookup key for Get.
ValueType Type
The closed generic type the entry was registered with.

Inherited from IFileWatchAware

WatchScopes IReadOnlyList<FileWatchScope>
Directories needing an OS-level watcher. Empty (the default) for aggregators that ride notifications other watchers already produce.

Methods

GetValue

#
public object GetValue()

Returns the current loaded value, refreshed if the underlying file has changed since last access.

Returns

object

Inherited from IFileWatchAware

OnFileChanged

#
public FileWatchResponse OnFileChanged(FileChangeNotification change)

Called on the file-watcher thread for every watched change. Must be quick and thread-safe.

Parameters

change FileChangeNotification

Returns

FileWatchResponse

Pennington.Data.IDataFile

namespace Pennington.Data;

/// Non-generic facade over a single registered data file. Used by DataFiles to enumerate every DataFileEntry the container has registered without reflecting over the closed generic types. Reloads through IFileWatchAware.
public interface IDataFile
{
    /// Returns the current loaded value, refreshed if the underlying file has changed since last access.
    
public object GetValue()
; /// Logical name supplied at registration; lookup key for Get.
public string Name { get; }
/// Called on the file-watcher thread for every watched change. Must be quick and thread-safe.
public FileWatchResponse OnFileChanged(FileChangeNotification change)
; /// The closed generic type the entry was registered with.
public Type ValueType { get; }
/// Directories needing an OS-level watcher. Empty (the default) for aggregators that ride notifications other watchers already produce.
public IReadOnlyList<FileWatchScope> WatchScopes { get; }
}