ardalis/SmartEnum

Open to PR for additional doc examples?

Offen

#162 geöffnet am 07.08.2021

 (1 Kommentar) (0 Reaktionen) (1 zugewiesene Person)C# (185 Forks)github user discovery
docshelp wanted

Repository-Metriken

Stars
 (2.420 Sterne)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

Hey Steve, I just banged my head against the wall for several hours trying to get a consuming property to work for this. Wanted to double check if you were open to PRs expanding the docs in this case before i spent the time on it. See below for another example that could be added:

public abstract class FeatureType : SmartEnum<FeatureType>
{
    public static readonly FeatureType GetRecord = new GetRecordType();

    protected FeatureType(string name, int value) : base(name, value)
    {
    }
    public abstract string Url(string url = null);
    
    private class GetRecordType : FeatureType
    {
        public GetRecordType() : base(nameof(GetRecord), 1) {}

        public override string Url(string url = null)
            => url ?? "myurl";
    }
}

public class Feature
{
    private FeatureType _featureType { get; set; }
    public string Type
    {
        get => _featureType.Name;
        set
        {
            if (!FeatureType.TryFromName(value, true, out var parsed))
            {
                throw new Exception(value);
            }
            _featureType = parsed;
        }
    }

    private string _url = null;
    public string Url
    {
        get => _featureType.Url(_url);
        set => _url = value;
    }
}

Contributor Guide