Sarcasm.Reflection.MetaGrammar.IsGrammarType C# (CSharp) Method

IsGrammarType() public static method

public static IsGrammarType ( Type type ) : bool
type System.Type
return bool
        public static bool IsGrammarType(Type type)
        {
            return type.IsSubclassOf(typeof(Grammar)) && type.GetCustomAttribute<GrammarAttribute>() != null;
        }

Usage Example

コード例 #1
0
        public void RegisterGrammars(Assembly assembly)
        {
            var newMetaGrammars = assembly
                                  .GetTypes()
                                  .Where(type => MetaGrammar.IsGrammarType(type))
                                  .Select(grammarType => new MetaGrammar(grammarType));

            foreach (MetaGrammar newMetaGrammar in newMetaGrammars)
            {
                RegisterGrammar(newMetaGrammar);
            }
        }