コード例 #1
0
ファイル: Symbol.cs プロジェクト: MarcosMeli/Roslynator
        public static bool IsException(ITypeSymbol typeSymbol, SemanticModel semanticModel)
        {
            if (typeSymbol == null)
            {
                throw new ArgumentNullException(nameof(typeSymbol));
            }

            if (semanticModel == null)
            {
                throw new ArgumentNullException(nameof(semanticModel));
            }

            return(typeSymbol.IsClass() &&
                   typeSymbol.EqualsOrDerivedFrom(semanticModel.GetTypeByMetadataName(MetadataNames.System_Exception)));
        }
コード例 #2
0
        public static bool IsTaskOrDerivedFromTask(this ITypeSymbol typeSymbol, SemanticModel semanticModel)
        {
            if (typeSymbol == null)
            {
                throw new ArgumentNullException(nameof(typeSymbol));
            }

            if (semanticModel == null)
            {
                throw new ArgumentNullException(nameof(semanticModel));
            }

            INamedTypeSymbol taskSymbol = semanticModel.GetTypeByMetadataName(MetadataNames.System_Threading_Tasks_Task);

            return(typeSymbol.EqualsOrDerivedFrom(taskSymbol));
        }