Class MapDataSource<TKey, TData, TLoader>
Represents a data source that uses a map (dictionary) to store data.
public class MapDataSource<TKey, TData, TLoader> : DataSource<TKey, TData, TLoader>, IDataSource<TKey, TData, TLoader>, IDataSource<TKey, TData>, IDataSource, IDataCrud, IDataCrud<TKey, TData> where TKey : notnull where TData : IData where TLoader : IDataLoader<TKey, TData>
Type Parameters
TKeyKey type for the map, must be not null.
TDataData type for the map, must implement IData.
TLoaderLoader type for loading data, must implement IDataLoader.
- Inheritance
-
DataSource<TKey, TData, TLoader>MapDataSource<TKey, TData, TLoader>
- Implements
-
IDataSource<TKey, TData, TLoader>IDataSource<TKey, TData>IDataCrud<TKey, TData>
- Derived
- Inherited Members
- Extension Methods
Constructors
MapDataSource(Map<TKey, TData>?)
Represents a data source that uses a map (dictionary) to store data.
public MapDataSource(Map<TKey, TData>? map = null)
Parameters
mapMap<TKey, TData>Map to use for storing data. If null, a new LazyMap will be created.
Properties
KeyResolver
Key resolver function to resolve keys from data items.
public override Func<TData, TKey>? KeyResolver { get; set; }
Property Value
- Func<TData, TKey>
Log
protected override Logger Log { get; }
Property Value
Methods
Add(TKey, TData)
public override void Add(TKey key, TData item)
Parameters
keyTKeyitemTData
Clear()
public override void Clear()
Count()
public override int Count()
Returns
Equals(object?)
Determines whether the specified object is equal to the current object.
public override bool Equals(object? obj)
Parameters
objobjectThe object to compare with the current object.
Returns
ForEach(Action<TKey, TData>)
public override void ForEach(Action<TKey, TData> iterator)
Parameters
iteratorAction<TKey, TData>
Get(TKey)
public override TData Get(TKey key)
Parameters
keyTKey
Returns
- TData
GetAll()
public override List<TData> GetAll()
Returns
- List<TData>
GetHashCode()
Serves as the default hash function.
public override int GetHashCode()
Returns
- int
A hash code for the current object.
Initialize(IDatabase<TKey, TData>)
public override void Initialize(IDatabase<TKey, TData> database)
Parameters
databaseIDatabase<TKey, TData>
Load(IDatabase<TKey, TData>, TLoader)
public override void Load(IDatabase<TKey, TData> database, TLoader loader)
Parameters
databaseIDatabase<TKey, TData>loaderTLoader
Ready(IDatabase<TKey, TData>)
public override void Ready(IDatabase<TKey, TData> database)
Parameters
databaseIDatabase<TKey, TData>
Remove(TKey)
public override TData? Remove(TKey key)
Parameters
keyTKey
Returns
- TData
Terminate(IDatabase<TKey, TData>)
public override void Terminate(IDatabase<TKey, TData> database)
Parameters
databaseIDatabase<TKey, TData>
ToString()
Returns a string that represents the current object.
public override string ToString()
Returns
- string
A string that represents the current object.
TryGet(TKey)
public override TData? TryGet(TKey key)
Parameters
keyTKey
Returns
- TData
Unload(IDatabase<TKey, TData>)
public override void Unload(IDatabase<TKey, TData> database)
Parameters
databaseIDatabase<TKey, TData>
Verify(IDatabase<TKey, TData>)
public override void Verify(IDatabase<TKey, TData> database)
Parameters
databaseIDatabase<TKey, TData>