ardalis/SmartEnum

Open to PR for additional doc examples?

開放

#162 建立於 2021年8月7日

 (1 則留言) (0 個反應) (1 位負責人)C# (185 個分叉)github user discovery
docshelp wanted

倉庫指標

星標
 (2,420 顆星)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

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;
    }
}

貢獻者指南