Namespace JetBrains.Annotations
Classes
AssertionMethodAttribute
Indicates that the marked method is assertion method, i.e. it halts control flow if one of the conditions is satisfied. To set the condition, mark one of the parameters with JetBrains.Annotations.AssertionConditionAttribute attribute
BaseTypeRequiredAttribute
When applied to a target attribute, specifies a requirement for any type marked with the target attribute to implement or inherit specific type or types.
CanBeNullAttribute
Indicates that the value of the marked element could be null
sometimes,
so the check for null
is necessary before its usage
CannotApplyEqualityOperatorAttribute
Indicates that the value of the marked type (or its derivatives)
cannot be compared using '==' or '!=' operators and Equals()
should be used instead. However, using '==' or '!=' for comparison
with null
is always permitted.
ContractAnnotationAttribute
Describes dependency between method input and output
InstantHandleAttribute
Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. If the parameter is a delegate, indicates that delegate is executed while the method is executed. If the parameter is an enumerable, indicates that it is enumerated while the method is executed
InvokerParameterNameAttribute
Indicates that the function argument should be string literal and match one of the parameters of the caller function. For example, ReSharper annotates the parameter of ArgumentNullException
LinqTunnelAttribute
Indicates that method is pure linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel
LocalizationRequiredAttribute
Indicates that marked element should be localized or not
MeansImplicitUseAttribute
Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections)
NoEnumerationAttribute
Indicates that IEnumarable, passed as parameter, is not enumerated.
NotifyPropertyChangedInvocatorAttribute
Indicates that the method is contained in a type that implements INotifyPropertyChanged interface and this method is used to notify that some property value changed
NotNullAttribute
Indicates that the value of the marked element could never be null
PathReferenceAttribute
Indicates that a parameter is a path to a file or a folder within a web project. Path can be relative or absolute, starting from web root (~)
PublicAPIAttribute
This attribute is intended to mark publicly available API which should not be removed and so is treated as used
PureAttribute
Indicates that a method does not make any observable state changes.
The same as System.Diagnostics.Contracts.PureAttribute
StringFormatMethodAttribute
Indicates that the marked method builds string by format pattern and (optional) arguments. Parameter, which contains format string, should be given in constructor. The format string should be in Format(IFormatProvider, String, Object[])-like form
UsedImplicitlyAttribute
Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library), so this symbol will not be marked as unused (as well as by other usage inspections)
Enums
ImplicitUseKindFlags
ImplicitUseTargetFlags
Specify what is considered used implicitly when marked with MeansImplicitUseAttribute or UsedImplicitlyAttribute