Example #1
0
        // create object from entity
        protected internal virtual TObject CreateBusinessObject <TObject, TEntry, TKey>(BusinessObjectFactory <TObject, TEntry, TKey> factory, TEntry entry)
            where TObject : BusinessObject <TEntry, TKey>
            where TEntry : class
        {
            if (factory is null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            if (entry is null)
            {
                throw new ArgumentNullException(nameof(entry));
            }

            return((TObject)_entries.GetOrAdd(entry, k => factory.CreateInstance(this, entry)));
        }