// Copyright (c) The Geekeey Authors // SPDX-License-Identifier: EUPL-1.2 using System.Diagnostics.CodeAnalysis; namespace Geekeey.Request.Result; /// /// An interface for a result. /// [SuppressMessage("Naming", "CA1716:Identifiers should not match keywords")] public interface IResultFactory where TSelf : IResultFactory { /// /// Creates a new result with a failure value. /// /// The error of the result. /// A new result with a failure value. static abstract TSelf Failure(Error error); }