مخزن جامع کدها و الگوهای توسعه

اسنیپت‌ها، ترفندها و کدهای کاربردی

مجموعه‌ای منتخب از ساختارهای کد، پیکربندی‌های بهینه، پیش‌نیازها و کدهای همراه برای زبان‌ها و فریم‌ورک‌های مختلف.

۱ کد انتخاب شده
دسته‌بندی: .NET رکورد موقعیتی
پاکسازی همه فیلترها
.NET CSHARP 1405/08/09

رکورد موقعیتی (Positional Record)

Positional Record رکوردی است که پارامترها را مستقیماً در تعریف نوع، داخل پرانتز، می‌نویسید و کامپایلر بقیه‌ی چیزها را خودش تولید می‌کند

csharp
// Normal Class
public class FileValidationResult
{
    public bool IsValid { get; }
    public string? Error { get; }
    public ImageType Type { get; }

    private FileValidationResult(bool isValid, string? error, ImageType type)
    {
        IsValid = isValid;
        Error = error;
        Type = type;
    }

    public static FileValidationResult Ok(ImageType type) => new(true, null, type);
    public static FileValidationResult Fail(string error) => new(false, error, ImageType.Unknown);
}

// Positional Record
public readonly record struct FileValidationResult(
    bool IsValid, string? Error = null, ImageType Type = ImageType.Unknown)
{
    public static FileValidationResult Ok(ImageType type) => new(true, null, type);
    public static FileValidationResult Fail(string error) => new(false, error);
}