ArchiMetrics.Analysis.Metrics.MemberCollector.GetMembers C# (CSharp) Method

GetMembers() public method

public GetMembers ( TypeDeclarationSyntaxInfo type ) : IEnumerable
type TypeDeclarationSyntaxInfo
return IEnumerable
        public IEnumerable<SyntaxNode> GetMembers(TypeDeclarationSyntaxInfo type)
        {
            Visit(type.Syntax);
            return _members.ToList();
        }

Usage Example

		public async Task<IEnumerable<IMemberMetric>> Calculate(TypeDeclarationSyntaxInfo typeNode)
		{
			var walker = new MemberCollector();
			var members = walker.GetMembers(typeNode).AsArray();
			if ((typeNode.Syntax is ClassDeclarationSyntax
				|| typeNode.Syntax is StructDeclarationSyntax)
				&& members.All(m => m.Kind() != SyntaxKind.ConstructorDeclaration))
			{
				var defaultConstructor = SyntaxFactory.ConstructorDeclaration(typeNode.Name)
											   .WithModifiers(SyntaxFactory.TokenList(SyntaxFactory.Token(SyntaxKind.PublicKeyword)))
											   .WithBody(SyntaxFactory.Block());
				members = members.Concat(new[] { defaultConstructor }).AsArray();
			}

			var metrics = await CalculateMemberMetrics(members).ConfigureAwait(false);
			return metrics.AsArray();
		}
All Usage Examples Of ArchiMetrics.Analysis.Metrics.MemberCollector::GetMembers