Table of Contents

Namespace NDepend.CodeModel

The namespace NDepend.CodeModel provides all types needed for a detailed snapshot of a .NET code base, modelized by an ICodeBase object, obtained from an IAnalysisResult object. NDepend.CodeModel is the core of NDepend.API.

Classes (6)

ExtensionMethodsDiagram

Provides a set of extension methods to export code model graph and matrix diagrams.

ExtensionMethodsHelpers

Provides a set of extension methods that makes the code model API usage more convenient to use.

ExtensionMethodsNaming

Provides a set of extension methods to filter a sequence of code elements by FullName, Name or SimpleName.

ExtensionMethodsProjection

Provides a set of extension methods to realize projection of a sequence of code elements to a sequence of children or parents code elements.

ExtensionMethodsSequenceUsage

Provides a set of extension methods to resolve incoming or outgoing dependencies, from or to, a sequence of code elements.

ExtensionMethodsTooling

Provides a set of extension methods to open source code elements declarations with a text editor tool (like Visual Studio), or even compare source declarations with a diff tool.

Interfaces (25)

IAssembly

Represents an application assembly, or a third-party assembly used by one or several application assemblies.

IAssemblyReference

Represents an assembly reference, extracted from an IAssemblyInfo object referencing others assemblies through AssembliesReferences.

IAttributeTag

Represent the occurence of an attribute tagging a code element.

IAttributeTagParameter

Represent the parameter of an IAttributeTag

IAttributeTarget

Represents a code element that can be tagged by an attribute. This interface is implemented by IMethod, IField, IType and IAssembly.

ICodeBase

Represents a code base snapshot, produced by a NDepend analysis. A ICodeBase object can be obtained from the IAnalysisResult.CodeBase property.

ICodeBaseView

Represents a total or restrained view of a ICodeBase object.

ICodeContainer

Represents a code element that can contain executable code. This interface is implemented by IMethod, IType, INamespace, IAssembly and ICodeBase.

ICodeElement

Represents a code element. This interface is implemented by IMethod, IField, IType, INamespace and IAssembly.

ICodeElementParent

Represents a parent code element. This interface is implemented by IType, INamespace and IAssembly.

ICodeMetricValue<TCodeElement, TNumeric>

Represent a ICodeMetric<TCodeElement, TNumeric> value.

ICodeMetric<TCodeElement, TNumeric>

Represent a code metric, a correspondance between a set of code elements and some numerical values.

ICompareContext

Represents a diff context of two ICodeBase objects compared, NewerCodeBase and OlderCodeBase. A ICompareContext object can be obtained through the extension method CreateCompareContextWithOlder(ICodeBase, ICodeBase).

IEvent

Represents an event declared in an application assembly, or declared in a third-party assembly and used by the application code.

IField

Represents a field declared in an application assembly, or declared in a third-party assembly and used the by application code.

IMember

Represents a member code element. This interface is implemented by IMethod, IField and IType.

IMethod

Represents a method declared in an application assembly, or declared in a third-party assembly and used by the application code.

INamespace

Represents a namespace declared in an application assembly, or declared in a third-party assembly and used by the application code.

IProperty

Represents a property declared in an application assembly, or declared in a third-party assembly and used by the application code.

ISourceDecl

Represents a 1-based line number in a source file of the analyzed application.

ISourceFile

Represents a source file of the analyzed application.

IType

Represents a type declared in an application assembly, or declared in a third-party assembly and used by the application code.

IUsed

Represents a code element that can be used from another code element. This interface is implemented by IMethod, IField, IProperty, IEvent, IType, INamespace and IAssembly.

IUser

Represents a code element that can use another code element. This interface is implemented by IMethod, IProperty, IEvent, IType, INamespace and IAssembly.

IValue

Represent a value extracted from analyzing the code base.

Enums (4)

DependencyDirection

Specifies the direction of dependency relationships for callers and callees in a call graph or dependency analysis.

ExportGraphSettings

Specifies options for grouping and exporting elements in a graph export operation.

SourceFileLanguage

Represents the programming Language of a ISourceFile object.

Visibility

Represents the visibility of a IMember object.