NDepend.API Documentation
ICodeElement Interface Members
Properties  Methods 

NDepend.CodeModel Namespace : ICodeElement Interface

The following tables list the members exposed by ICodeElement.

Public Properties
 NameDescription
 PropertyGets this code element casted to IAssembly if it is an assembly, else gets null.  
 PropertyGets this code element casted to IAttributeTarget if it is a an assembly, a type, a method or a field, else gets null.  
 PropertyGets this code element casted to ICodeBase if it is a code base, else gets null.  
 PropertyGets this code element casted to ICodeContainer if it is a an assembly, a namespace, a type or a method, else gets null.  
 PropertyGets this code element casted to ICodeElementParent if it is an assembly, a namespace or a type, else gets null.  
 PropertyGets this code element casted to IEvent if it is a field, else gets null.  
 PropertyGets this code element casted to IField if it is a field, else gets null.  
 PropertyGets this code element casted to IMember if it is a method or field, else gets null.  
 PropertyGets this code element casted to IMethod if it is a method, else gets null.  
 PropertyGets this code element casted to INamespace if it is a namespace, else gets null.  
 PropertyGets this code element casted to IProperty if it is a field, else gets null.  
 PropertyGets this code element casted to IType if it is a type, else gets null.  
 PropertyGets this code element casted to IMember if it is a type, method or field, else gets null.  
 PropertyGets a string representing the full name of this code element.  
 PropertyGets a value indicating whether this code element is an assembly, and can then be safely downcasted to IAssembly.  
 PropertyGets a value indicating whether this code element is an assembly, a type, a method or a field, and can then be safely downcasted to IAttributeTarget.  
 PropertyGets a value indicating whether this code element is a code base, and can then be safely downcasted to ICodeBase.  
 PropertyGets a value indicating whether this code element is an assembly, a namespace a type or a method, and can then be safely downcasted to ICodeContainer.  
 PropertyGets a value indicating whether this code element is an assembly, a namespace or a type, and can then be safely downcasted to ICodeElementParent.  
 PropertyGets a value indicating whether this code element is an evnt, and can then be safely downcasted to IProperty.  
 PropertyGets a value indicating whether this code element is a field, and can then be safely downcasted to IField.  
 PropertyGets a value indicating whether this code element is a method or field, and can then be safely downcasted to IMember.  
 PropertyGets a value indicating whether this code element is a method, and can then be safely downcasted to IMethod.  
 PropertyGets a value indicating whether this code element is a namespace, and can then be safely downcasted to INamespace.  
 PropertyGets a value indicating whether this code element is a property, and can then be safely downcasted to IProperty.  
 PropertyGets a value indicating whether this code element is an application or a third-party code element.  
 PropertyGets a value indicating whether this code element is a third-party code element resolved from reference.  
 PropertyGets a value indicating whether this code element is a type, and can then be safely downcasted to IType.  
 PropertyGets a value indicating whether this code element is a type, method or field, and can then be safely downcasted to IMember.  
 PropertyGets a string representing the name of this code element.  
 Property Returns the code element parent of this code element.  
 PropertyGets the parent code base of this code element  
 Property Returns a sequence of code element parent of this code element.  
 Property Gets this code element simple name, without its eventual parameters signature nor its eventual generic signature not prefixed by its parent type or namespace name.  
 Property Returns one or several source file declarations of this code element. Returns an empty sequence if not SourceFileDeclAvailable.  
 PropertyGets a value indicating whether source file declaration(s) of this code element have been gathered at analysis time and is now available.  
 PropertyGets an integer identifier for this code element, unique in the scope of this ParentCodeBase.  
Top
Extension Methods
 NameDescription
Public Extension MethodGets the summed annual-interest of all issues relative to codeElement, and relative to all its children code elements, defined by codeElement.NDepend.CodeModel.ICodeElementParent.RecursiveChildren, if codeElement is a NDepend.CodeModel.ICodeElementParent.
Public Extension MethodGets NewerIssuesSet.NDepend.Issue.IIssuesSet.AllAnnualInterestIn of NDepend.CodeModel.ICompareContext.NewerVersion<T> of codeElement, minus OlderIssuesSet.NDepend.Issue.IIssuesSet.AllAnnualInterestIn of NDepend.CodeModel.ICompareContext.OlderVersion<T> of codeElement.
Public Extension MethodGets NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.AnnualInterestPercent(AllDebt,AllAnnualInterest).
Public Extension MethodGets NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.AnnualInterestPercent(AllDebtDiff,AllAnnualInterestDiff).
Public Extension MethodGets NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.BreakingPoint(AllDebt,AllAnnualInterest).
Public Extension MethodGets NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.BreakingPoint(AllDebtDiff,AllAnnualInterestDiff).
Public Extension MethodGets the summed debt of all issues relative to codeElement, and relative to all its children code elements, defined by codeElement.NDepend.CodeModel.ICodeElementParent.RecursiveChildren, if codeElement is a NDepend.CodeModel.ICodeElementParent.
Public Extension MethodGets NewerIssuesSet.NDepend.Issue.IIssuesSet.AllDebtIn of NDepend.CodeModel.ICompareContext.NewerVersion<T> of codeElement, minus OlderIssuesSet.NDepend.Issue.IIssuesSet.AllDebtIn of NDepend.CodeModel.ICompareContext.OlderVersion<T> of codeElement.
Public Extension MethodGets all issues relative to codeElement, and relative to all its child code elements, defined by codeElement.NDepend.CodeModel.ICodeElementParent.RecursiveChildren, if codeElement is a NDepend.CodeModel.ICodeElementParent.
Public Extension MethodGets the count of all issues relative to codeElement, and relative to all its children code elements, defined by codeElement.NDepend.CodeModel.ICodeElementParent.RecursiveChildren, if codeElement is a NDepend.CodeModel.ICodeElementParent.
Public Extension MethodOverloaded. Gets the summed annual-interest of all issues of rule.
Public Extension MethodOverloaded. Gets NewerIssuesSet.NDepend.Issue.IIssuesSet.AnnualInterest of NewerVersion(IRule) of rule, minus OlderIssuesSet.NDepend.Issue.IIssuesSet.AnnualInterest of OlderVersion(IRule) of rule.
Public Extension MethodOverloaded. Gets NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.AnnualInterestPercent(Debt(IRule),AnnualInterest(IRule)).
Public Extension MethodOverloaded. Gets NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.AnnualInterestPercent(DebtDiff(IRule),AnnualInterestDiff(IRule)).
Public Extension MethodOverloaded. Gets NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.BreakingPoint(Debt(IRule),AnnualInterest(IRule)).
Public Extension MethodOverloaded. Gets NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.NDepend.TechnicalDebt.ExtensionMethodsDebtUsableInCQLinq.BreakingPoint(DebtDiff(IRule),AnnualInterestDiff(IRule)).
Public Extension MethodReturns the estimated cost, to reach a better rating, based on the fact that codeElement has actually a total debt estimated to AllDebt(codeElement).
Public Extension MethodReturns the estimated effort to reach ratingToReach, based on the fact that codeElement has actually a total debt estimated to AllDebt(codeElement).
Public Extension MethodOverloaded. Gets the summed debt of all issues of rule.
Public Extension MethodOverloaded. Gets NewerIssuesSet.NDepend.Issue.IIssuesSet.Debt of NewerVersion(IRule) of rule, minus OlderIssuesSet.NDepend.Issue.IIssuesSet.Debt of OlderVersion(IRule) of rule.
Public Extension MethodGets the debt rating of codeElement in the range NDepend.TechnicalDebt.DebtRating.A (very good) to NDepend.TechnicalDebt.DebtRating.E (very bad).
Public Extension MethodGets a value that indicates if codeElement.NDepend.Issue.IIssuesSet.DebtRating is different for NDepend.CodeModel.ICompareContext.NewerVersion<T> and NDepend.CodeModel.ICompareContext.OlderVersion<T> of codeElement.
Public Extension MethodGets a value that indicates if codeElement.NDepend.Issue.IIssuesSet.DebtRating is better for NDepend.CodeModel.ICompareContext.NewerVersion<T> than for NDepend.CodeModel.ICompareContext.OlderVersion<T> of codeElement.
Public Extension MethodGets a value that indicates if codeElement.NDepend.Issue.IIssuesSet.DebtRating is better for NDepend.CodeModel.ICompareContext.OlderVersion<T> than for NDepend.CodeModel.ICompareContext.NewerVersion<T> of codeElement.
Public Extension MethodEstimate the ratio of technical debt, measured through AllDebt(codeElement). This ratio is expressed in percentage, of estimated debt, compared to the estimated time it would take to rewrite codeElement from scratch.
Public Extension MethodGets NewerIssuesSet.NDepend.Issue.IIssuesSet.DebtRatio of NDepend.CodeModel.ICompareContext.NewerVersion<T> of codeElement, minus OlderIssuesSet.NDepend.Issue.IIssuesSet.DebtRatio of NDepend.CodeModel.ICompareContext.OlderVersion<T> of codeElement.
Public Extension MethodReturns a non-null depth of usage value, if usedCodeElement is directly or indirectly used by a NDepend.CodeModel.ICodeElement whose NDepend.CodeModel.ICodeElement.FullName is userCodeElementFullName. This method can only be called in a ICQLinqExecutionContext, otherwise the extension method NDepend.CodeModel.ExtensionMethodsSequenceUsage.NDepend.CodeModel.ExtensionMethodsSequenceUsage.DepthOfIsUsedByAny<TUsed,TUser> must be called instead.
Public Extension MethodEvaluate the total time to develop codeElement based on codeElement.NDepend.CodeModel.ExtensionMethodsHelpers.GetNbLinesOfCode_GuaranteedIfPDBFound, by applying a linear coefficent inferred from the project NDepend.TechnicalDebt.DebtSettings settings: NDepend.TechnicalDebt.DebtSettings.EstimatedNumberOfManDayToDevelop1000LogicalLinesOfCode and NDepend.TechnicalDebt.DebtSettings.NumberOfWorkHourPerDay.
Public Extension MethodReturns true if this codeElement.NDepend.CodeModel.ICodeElement.FullName string matches the regular expression regexString. This method can only be called in a ICQLinqExecutionContext, otherwise the extension method NDepend.CodeModel.ExtensionMethodsNaming.NDepend.CodeModel.ExtensionMethodsNaming.WithFullNameLike<TCodeElement> must be called instead.
Public Extension MethodGet the image that represents the codeElement.
Public Extension MethodTry gets a number of lines of code for an application codeElement. This value is guaranteed not being zero if the code element is in an assembly for which PDB file has been found and parsed.
Public Extension MethodGets a value indicating whether the codeElement has annual-interest or not.
Public Extension MethodGets a value indicating whether the codeElement has debt or not.
Public Extension MethodGets a value indicating whether the codeElement has issues or not.
Public Extension MethodReturns true if usedCodeElement is, directly or indirectly, used by a NDepend.CodeModel.ICodeElement whose NDepend.CodeModel.ICodeElement.FullName is userCodeElementFullName. This method can only be called in a ICQLinqExecutionContext, otherwise the extension method NDepend.CodeModel.ExtensionMethodsSequenceUsage.NDepend.CodeModel.ExtensionMethodsSequenceUsage.IndirectlyUsedByAny<TUsed,TUser> must be called instead.
Public Extension MethodReturns true if this codeElement object is in the newer version of the code base. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.ICompareContext.NDepend.CodeModel.ICompareContext.IsInNewerBuild must be called instead.
Public Extension MethodReturns true if this codeElement object is in the older version of the code base. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.ICompareContext.NDepend.CodeModel.ICompareContext.IsInOlderBuild must be called instead.
Public Extension MethodReturns true if this codeElement object is in a third-party assembly (or is a third-party assembly itself), and if it is used by the older version of the code base, but not by the newer version. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.ICompareContext.NDepend.CodeModel.ICompareContext.IsNotUsedAnymore must be called instead.
Public Extension MethodReturns true if this codeElement object is both in the newer and older versions of the code base. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.ICompareContext.NDepend.CodeModel.ICompareContext.IsPresentInBothBuilds must be called instead.
Public Extension MethodOverloaded. Gets all issues of rule.
Public Extension MethodOverloaded. Gets all issues of rule that have no equivalent in OlderIssuesSet. These issues are considered as added.
Public Extension MethodOverloaded. Gets all issues of rule that have no equivalent in NewerIssuesSet. These issues are considered as fixed.
Public Extension MethodReturns true if this usedCodeElement is directly used by a NDepend.CodeModel.ICodeElement whose NDepend.CodeModel.ICodeElement.FullName is userCodeElementFullName. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.IUsed.NDepend.CodeModel.IUsed.IsUsedBy must be called instead.
Public Extension MethodReturns true if this usedCodeElement is directly used by a NDepend.CodeModel.IAssembly whose NDepend.CodeModel.ICodeElement.Name is userAssemblyName. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.IUsed.NDepend.CodeModel.IUsed.IsUsedByAssembly must be called instead.
Public Extension MethodReturns true if this usedCodeElement is directly used by a NDepend.CodeModel.IEvent whose NDepend.CodeModel.ICodeElement.FullName is userEventFullName. This event can only be called in a ICQLinqExecutionContext, otherwise the event NDepend.CodeModel.IUsed.NDepend.CodeModel.IUsed.IsUsedByEvent must be called instead.
Public Extension MethodReturns true if this usedCodeElement is directly used by a NDepend.CodeModel.IMethod whose NDepend.CodeModel.ICodeElement.FullName is userMethodFullName. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.IUsed.NDepend.CodeModel.IUsed.IsUsedByMethod must be called instead.
Public Extension MethodReturns true if this usedCodeElement is directly used by a NDepend.CodeModel.INamespace whose NDepend.CodeModel.ICodeElement.Name is userNamespaceName. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.IUsed.NDepend.CodeModel.IUsed.IsUsedByNamespace must be called instead.
Public Extension MethodReturns true if this usedCodeElement is directly used by a NDepend.CodeModel.IProperty whose NDepend.CodeModel.ICodeElement.FullName is userPropertyFullName. This property can only be called in a ICQLinqExecutionContext, otherwise the property NDepend.CodeModel.IUsed.NDepend.CodeModel.IUsed.IsUsedByProperty must be called instead.
Public Extension MethodReturns true if this usedCodeElement is directly used by a NDepend.CodeModel.IType whose NDepend.CodeModel.ICodeElement.FullName is userTypeFullName. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.IUsed.NDepend.CodeModel.IUsed.IsUsedByType must be called instead.
Public Extension MethodReturns true if this codeElement object is in a third-party assembly (or is a third-party assembly itself), and if it is used by the newer version of the code base, but not by the older version. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.ICompareContext.NDepend.CodeModel.ICompareContext.IsUsedRecently must be called instead.
Public Extension MethodReturns true if this codeElement.NDepend.CodeModel.ICodeElement.Name string matches the regular expression regexString. This method can only be called in a ICQLinqExecutionContext, otherwise the extension method NDepend.CodeModel.ExtensionMethodsNaming.NDepend.CodeModel.ExtensionMethodsNaming.WithNameLike<TCodeElement> must be called instead.
Public Extension MethodReturns true if this codeElement.NDepend.CodeModel.ICodeElement.SimpleName string matches the regular expression regexString. This method can only be called in a ICQLinqExecutionContext, otherwise the extension method NDepend.CodeModel.ExtensionMethodsNaming.NDepend.CodeModel.ExtensionMethodsNaming.WithFullNameLike<TCodeElement> must be called instead.
Public Extension MethodOpens with a textual files compare/diff tool, the older and newer source versions of codeElement.
Public Extension MethodOverloaded. Opens the source file containing the declaration of this ICodeElement, and points to the declaration line.
Public Extension MethodReturns true if this codeElement object has been added and thus, is not present in the older version of the code base. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.ICompareContext.NDepend.CodeModel.ICompareContext.WasAdded must be called instead.
Public Extension MethodReturns true if this codeElement object was changed in any way (code change, comment change, visibility change...). This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.ICompareContext.NDepend.CodeModel.ICompareContext.WasChanged must be called instead.
Public Extension MethodReturns true if this codeElement object has been removed and thus, is not present in the newer version of the code base. This method can only be called in a ICQLinqExecutionContext, otherwise the method NDepend.CodeModel.ICompareContext.NDepend.CodeModel.ICompareContext.WasRemoved must be called instead.
Top
See Also

Reference

ICodeElement Interface
NDepend.CodeModel Namespace