IBuildable<TSelf, TBuilder>
public interface IBuildable<TSelf, TBuilder> where TSelf : IBuildable<TSelf, TBuilder> where TBuilder : ISupplier<TSelf>, IResettable
Represents builder pattern contract.
using System.Runtime.CompilerServices;
namespace DotNext.Patterns
{
[NullableContext(1)]
public interface IBuildable<[Nullable(0)] out TSelf, [Nullable(0)] out TBuilder> where TSelf : IBuildable<TSelf, TBuilder> where TBuilder : ISupplier<TSelf>, IResettable
{
TBuilder CreateBuilder();
}
}