23 lines
346 B
C#
23 lines
346 B
C#
using System;
|
|
|
|
namespace AutoCat.Utils;
|
|
|
|
public interface IAbstractFactory<out T>
|
|
{
|
|
T Create();
|
|
}
|
|
|
|
public class AbstractFactory<T> : IAbstractFactory<T>
|
|
{
|
|
private readonly Func<T> _factory;
|
|
|
|
public AbstractFactory(Func<T> factory)
|
|
{
|
|
_factory = factory;
|
|
}
|
|
|
|
public T Create()
|
|
{
|
|
return _factory();
|
|
}
|
|
} |