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

贡献者指南