示例#1
0
 internal static string RequiredFeature(this SoalFeature feature)
 {
     switch (feature)
     {
     default:
         return(null);
     }
 }
示例#2
0
        internal static LanguageVersion RequiredVersion(this SoalFeature feature)
        {
            switch (feature)
            {
            case SoalFeature.None:
                return(LanguageVersion.Soal1);

            default:
                throw new ArgumentOutOfRangeException(nameof(feature), "Unexpected value: " + feature);
            }
        }
示例#3
0
        internal bool IsFeatureEnabled(SoalFeature feature)
        {
            string featureFlag = feature.RequiredFeature();

            if (featureFlag != null)
            {
                return(Features.ContainsKey(featureFlag));
            }
            LanguageVersion availableVersion = LanguageVersion;
            LanguageVersion requiredVersion  = feature.RequiredVersion();

            return(availableVersion >= requiredVersion);
        }