ardalis/SmartEnum

Open to PR for additional doc examples?

オープン

#162 opened on 2021/08/07

 (1 件のコメント) (0 件のリアクション) (1 人の担当者)C# (185 件のフォーク)github user discovery
docshelp wanted

Repository metrics

Stars
 (2,420 個のスター)
PR merge metrics
 (30d に merged 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;
    }
}

コントリビューターガイド