MediaInfo.Wrapper Describes method to build audio stream. Describes method to build chapter stream. Describes media builder interface The type of the stream. Builds media stream. Describes base methods to build media stream with language The type of the stream. Initializes a new instance of the class. The media info object. The stream number. The stream position. Describes base methods to build media stream The type of the stream. Converts the string representation of a value to specified type The source value. The result. true if s was converted successfully; otherwise, false. Initializes a new instance of the class. The media info object. The stream number. The stream position. Gets the stream position. The stream position. Gets the logical stream number. The logical stream number. Gets the kind of media stream. The kind of media stream. Gets the kind of the stream. The kind of the stream. Gets the media info object to access to low-level functions. The media info object. Gets the property value by the property name. The stream parameter name. The manual extract result function. Returns property value of specified stream property name. Gets the property value by the property index. The stream property index. The kind of property value The manual extract result function. Returns property value of specified stream property index. Gets the specified property value by property name. The parameter. The extract result. Returns property value by name. If property does not defined will return . Gets the specified property value by the property index. The property index. The kind of property value The extract result. Returns property value by name. If property does not defined will return . Describes method to build menu stream. Describes base methods to build subtitle stream. Initializes a new instance of the class. The media info object. The stream number. The stream position. Converts the string representation of a value to specified type The source value. The result. true if s was converted successfully; otherwise, false. Describes base methods to build video stream. Initializes a new instance of the class. The media info object. The stream number. The stream position. Describes video aspect ratio The opaque (1:1) The high end data graphics (5:4) The full screen (4:3) The standard slides (3:3) The digital SLR cameras (3:2) The High Definition TV (16:9) The wide screen display (16:10) The wide screen (1.85:1) The cinema scope (21:9) Defines constants for different kind of audio codecs. The undefined audio codec MPEG Layer 1 MPEG Layer 2 MPEG Layer 3 PCM big-endian int PCM little-endian int PCM float IEEE Dolby Digital Dolby Digital Atmos DolbyNet DolbyNet Dolby Digital Plus Dolby Digital Plus Atmos Dolby TrueHD Dolby TrueHD Atmos DTS DTS-HD Free Lossless Audio Codec OPUS True Audio VORBIS WavPack v4 WavPack Waveform Audio Waveform Audio The Real Audio The Real Audio The Real Audio The Real Audio The Real Audio The Real Audio Meridian Lossless Advanced Audio Coding Advanced Audio Coding Advanced Audio Coding Advanced Audio Coding Advanced Audio Coding Advanced Audio Coding Advanced Audio Coding Advanced Audio Coding Advanced Audio Coding Advanced Audio Coding Advanced Audio Coding Apple Lossless Monkey's Audio Windows Media Audio Windows Media Audio v2 Windows Media Audio 9 Adaptive differential pulse-code modulation Adaptive multi rate Adaptive Transform Acoustic Coding (SDDS) Adaptive Transform Acoustic Coding 3 ATRAC3plus ATRAC Advanced Lossless ATRAC9 Provides properties and overridden methods for the analyze audio stream and contains information about audio stream. Gets the audio codec. The audio codec. Gets the codec friendly name. The codec friendly name. Gets the stream duration. The stream duration. Gets the audio bitrate. The audio bitrate. Gets the audio channel amount. The audio channel amount. Gets the audio sampling rate. The audio sampling rate. Gets the bit depth of stream. The bit depth of stream. Gets the audio format. The audio format. Gets the audio codec name. The audio codec name. Gets the audio channels friendly. The audio channels friendly. Gets the stream tags. The stream tags. Describes properties of the audio tags Gets the title of the album. The title of the album. Gets the title of the track. The title of the track. Gets the title of the subtrack. The title of the subtrack. Gets the original album name (in case of a remake/remix). The original album name (in case of a remake/remix). Gets the original track name (in case of a remake/remix). The original track name (in case of a remake/remix). Gets the number of the current track. The number of the current track. Gets the number of all tracks. The number of all tracks. Gets the number of the current part in a multi-disc album. The number of the current part in a multi-disc album. Gets the number of all parts in a multi-disc album. The number of all parts in a multi-disc album. Gets a person or band/collective generally considered responsible for the work : Singer, Implementor. A person or band/collective generally considered responsible for the work : Singer, Implementor. Gets the album artist. The album artist. Gets the official artist/performer web page. The official artist/performer web page. Gets the accompaniment name. The accompaniment name. Gets the composer name. The composer name. Gets the composer nationality. The composer nationality. Gets the arranger name. The arranger name. Gets the lyricist name. The lyricist name. Gets the conductor name. The conductor name. Gets the sound engineer name. The sound engineer name. Gets who mastered track. Who mastered track. Gets who remixed track. Who remixed track. Gets the label name. The label name. Gets the recorded date. The recorded date. Gets the genre. The genre. Gets the mood. The mood. Gets the encoded original. The encoded original. Gets the track gain. The track gain. Gets the track peak. The track peak. Gets the track ISRC. The track ISRC. Gets the track MSDI. The track MSDI. Gets the bar code. The bar code. Gets the LCCN. The LCCN. Gets the catalog number. The catalog number. Gets the label code. The label code. Gets the name of the person or organisation that encoded/ripped the audio file. The name of the person or organisation that encoded/ripped the audio file. Base class to read tags from stream Gets or sets the tags. The tags. Gets the title of the media. The title of the media. Gets a short description of the contents, such as "Two birds flying". A short description of the contents, such as "Two birds flying". Gets the keywords to the item separated by a comma, used for searching. The keywords to the item separated by a comma, used for searching. Gets the country. The country. Gets the time that the item was originally released. The time that the item was originally released. Gets the time that the encoding of this item was completed began. The time that the encoding of this item was completed began. Gets the time that the tags were done for this item. The time that the tags were done for this item. Gets any comment related to the content. Any comment related to the content. Gets a numeric value defining how much a person likes the song/movie. The number is between 0 and 5 with decimal values possible (e.g. 2.7), 5(.0) being the highest possible rating. a numeric value defining how much a person likes the song/movie. The number is between 0 and 5 with decimal values possible (e.g. 2.7), 5(.0) being the highest possible rating. Gets the copyright attribution. The copyright attribution. Gets the name of the organization producing the track (i.e. the 'record label'). The name of the organization producing the track (i.e. the 'record label'). Gets the publishers official web page. The publishers official web page. Gets the name of the organization distributing track. The name of the organization distributing track. Gets the average number of beats per minute in the complete target. The average number of beats per minute in the complete target. Gets the cover media. The cover media. Describes properties of the cover tags Gets a value indicating whether this is exists. true if exists; otherwise, false. Gets the description of the cover. The description of the cover. Gets the type of the cover. The type of the cover. Gets the MIME of the cover. The MIME of the cover. Gets the cover data. The cover data. Provides properties and overridden methods for the analyze chapter in media and contains information about chapter. Gets the chapter offset. The chapter offset. Gets the chapter description. The chapter description. Static extensions for file paths Determines whether path is live TV. The path. true if the specified path is live TV; otherwise, false. Determines whether this instance is RTSP. The path. true if the specified path is RTSP; otherwise, false. Determines whether path is network video. The path. true if the specified path is network video; otherwise, false. Determines whether the specified path is video. The path. true if the specified path is video; otherwise, false. Determines whether this instance is picture. The path. true if the specified path is picture; otherwise, false. Determines whether is LastFM stream. The path. true if the specified path is LastFM stream; otherwise, false. Determines whether specified path is network path. The path. true if the specified path is network path; otherwise, false. Gets the type of the drive. The drive. Returns drive type. 0 - undefined 2 - removable drive (Flash, Floppy) 3 - fixed drive (HDD) 4 - remote drive (network share) 5 - CD/DVD drive 6 - RAM disk drive Determines whether the specified string path is UNC network. The string path. true if the specified string path is UNC network; otherwise, false. Determines whether the specified string path is A/V stream. The string path. true if the specified string path is A/V stream; otherwise, false. Determines whether the specified string path is remote URL. The string path. true if the specified string path is remote URL; otherwise, false. Determines whether specified path is audio. The path. true if the specified path is audio; otherwise, false. Describes methods to work with unmanaged Global memory block Initializes a new instance of the class. The handle. Finalizes an instance of the class. Gets the handle. The handle. Releases unmanaged and - optionally - managed resources. Strings to global ANSI string. The source. Describes methods to manipulate language data Gets the language by LCID. The LCID. Returns language name Gets language by the short language name. The short language name. Returns language name. Gets LCID by short language name. The short language. Returns LCID. Provides properties and overridden methods for the analyze stream and contains information about media stream. Gets the media stream language. The media stream language. Gets the media stream LCID. The media stream LCID. Gets a value indicating whether this is default. true if default; otherwise, false. Gets a value indicating whether this is forced. true if forced; otherwise, false. Describes kind of streams The general (container, disk info) The video The audio The subtitles and text information The other (chapters) The image The menu Describes low-level functions to access to media information Initializes a new instance of the class. Initializes a new instance of the class. The path to mediainfo.dll. Finalizes an instance of the class. Opens the specified file name. Name of the file. Return internal handle to access to low-level functions. Opens the buffer initialize. Size of the file. The file offset. Opens the buffer continue. The buffer. Size of the buffer. Opens the buffer continue go to get. Opens the buffer finalize. Closes this instance. Informs media stream data. Gets property value by specified stream kind and name. Kind of the stream. The stream number. The parameter. The kind of information. The kind of search. Returns property value Sets value to specified option name. The option name. The option value. Gets the state. Gets count items of the specified stream. Kind of the stream. The stream number. Gets the specified parameter value in the stream by parameter name. Kind of the stream. The stream number. The parameter. Gets the specified parameter value in the stream by parameter index. Kind of the stream. The stream number. The parameter. Gets options value by the specified option name. The option. Gets count of specified kind of streams. Kind of the streams. Releases unmanaged and - optionally - managed resources. Describes low-level function to access to mediaInfo lists Initializes a new instance of the class. Finalizes an instance of the class. Opens the specified file name. Name of the file. The options. Closes the specified file position. The file position. Informs the specified file position. The file position. Gets the property value in specified file position by stream and property name. The file position. Kind of the stream. The stream number. The property name. The kind of information. The kind of search. Gets the property value in specified file position by stream and property index. The file position. Kind of the stream. The stream number. The property index. The kind of information. Sets options value by the specified option name. The option name. The option value. Gets current state. Gets count of items in file position and stream. The file position. Kind of the stream. The stream number. Opens the specified file name. Name of the file. Closes this instance. Gets the specified file position. The file position. Kind of the stream. The stream number. The parameter. The kind of information. Gets the specified file position. The file position. Kind of the stream. The stream number. The parameter. Gets the specified file position. The file position. Kind of the stream. The stream number. The parameter. Gets options value by the specified option name. The option name. Gets count of specified kind of stream in th file position. The file position. Kind of the streams. Releases unmanaged and - optionally - managed resources. Describes method and properties to retrieve information from media source Initializes a new instance of the class. The file path. Initializes a new instance of the class. The file path. The path to DLL. Checks if mediaInfo.dll file exist. The path to mediaInfo.dll Returns true if mediaInfo.dll is exists; elsewhere false. Gets a value indicating whether this instance has video. true if this instance has video; otherwise, false. Gets a value indicating whether media has at least one video stream with stereoscopic effect. true if is3d; otherwise, false. Gets the video streams. The video streams. Gets the best video stream. The best video stream. Gets the video codec. The video codec. Gets the video frame rate. The video frame rate. Gets the video width. The video width. Gets the video height. The video height. Gets the video aspect ratio. The video aspect ratio. Gets the type of the scan. The type of the scan. Gets a value indicating whether video is interlaced. true if video is interlaced; otherwise, false. Gets the video resolution. The video resolution. Gets the video bitrate. The video bitrate. Gets the audio streams. The audio streams. Gets the best audio stream. The best audio stream. Gets the audio codec. The audio codec. Gets the audio bitrate. The audio bitrate. Gets the audio sample rate. The audio sample rate. Gets the count of audio channels. The count of audio channels. Gets the audio channels friendly name. The audio channels friendly name. Gets the list of media subtitles. The media subtitles. Gets a value indicating whether media has internal or external subtitles. true if media has subtitles; otherwise, false. Gets a value indicating whether this instance has external subtitles. true if this instance has external subtitles; otherwise, false. Gets the media chapters. The media chapters. Gets a value indicating whether media has chapters. true if media has chapters; otherwise, false. Gets the menu streams from media. The menu streams. Gets a value indicating whether media has menu. true if media has menu; otherwise, false. Gets a value indicating whether media is DVD. true if media is DVD; otherwise, false. Gets a value indicating whether media is BluRay. true if media is BluRay; otherwise, false. Gets a value indicating whether media information was not loaded. true if media information was not loaded; otherwise, false. Gets the duration of the media. The duration of the media. Gets the mediainfo.dll version. The mediainfo.dll version. Gets the media size. The media size. Gets the tags. The tags. Defines constants for media stream kinds. The video stream The audio stream The subtitle stream The image stream Menu Provides basic properties and instance methods for the analyze stream and contains information about media stream. Gets or sets the media steam id. The media steam id. Gets or sets the name of stream. The name of stream. Gets the kind of media stream. The kind of media stream. Gets the kind of the stream. The kind of the stream. Gets the stream position. The stream position. Gets the logical stream number. The logical stream number. Describes properties of the menu Initializes a new instance of the class. Gets or sets the menu duration. The menu duration. Gets the chapters. The chapters. Describes properties of the menu chapter Gets or sets the menu position. The menu position. Gets or sets the menu chapter name. The menu chapter name. Describes 3D stereo mode No 3D (mono) The side by side left eye is first The top bottom right eye is first The top bottom left eye is first The checkerboard right eye is first The checkerboard left eye is first The row interleaved right eye is first The row interleaved left eye is first The column interleaved right eye is first The column interleaved left eye is first The anaglyph cyan-red The side by side right eye is first The anaglyph green-magenta The both eyes laced left eye is first The both eyes laced right eye is first Defines constants for different kind of subtitles. The undefined type. The Advanced SubStation Alpha subtitles. The BMP image subtitles. The SubStation Alpha subtitles. The Advanced SubStation Alpha text subtitles. The SubStation Alpha text subtitles. The Universal Subtitle Format text subtitles. The Unicode text subtitles. The Universal Subtitle Format subtitles. The Unicode subtitles. The VOB SUB subtitles (DVD subtitles). The Presentation Grapic Stream Subtitle Format subtitles The HDMV Text Subtitle Format subtitles Describes type of video codecs The undefined The uncompressed Dirac MPEG4 MPEG4 Simple Profile MPEG4 Advanced Simple Profile MPEG4 Advanced Profile MPEG4 AVC MPEG4 ISO Simple Profile MPEG4 ISO Advanced Simple Profile MPEG4 ISO Advanced Profile MPEG4 ISO AVC MPEG4 ISO HEVC The Windows Media MPEG4 V1 The Windows Media MPEG4 V2 The Windows Media MPEG4 V3 VC1 The MPEG1 The MPEG2 The ProRes Real Video v1 Real Video v2 Real Video v3 Real Video v4 Theora TrueMotion VP6 VP8 VP9 DivX v1 DivX v2 DivX v3.x DivX v4 DivX v5 The XVid Sorenson Video v1 Sorenson Video v2 Sorenson Video v3 The Sorenson Spark H.260 H.261 H.263 AVdv Autodesk Digital Video v1 FF video codec 1 FF video codec 2 IV21 IV30 IV40 IV50 The FFDShow MPEG-4 Video The FFDShow MPEG-4 Video HuffYUV 2.2 Motion JPEG Digital Video Digital Video HD DVCPRO50 DVCPRO HD Windows Media Video V7 Windows Media Video V8 Windows Media Video V9 QuickTime 8BPS Bink video Describes properties of the video tags Gets the title of the collection. The title of the collection. Gets the title of the season. The title of the season. Gets the title of part. The title of part. Gets the title of the file for a video file. The title of the file for a video file. Gets the title of chapter. The title of chapter. Gets the original movie. The original movie. Gets the track position. The track position. Gets the composer name. The composer name. Gets the composer nationality. The composer nationality. Gets the arranger name. The arranger name. Gets the lyricist name. The lyricist name. Gets the conductor name. The conductor name. Gets the sound engineer name. The sound engineer name. Gets the real name of actor. The real name of actor. Gets the name of the character an actor or actress plays in this movie. The name of the character an actor or actress plays in this movie. Gets the author of the story or script. The author of the story or script. Gets the author of the screenplay or scenario (used for movies and TV shows). The author of the screenplay or scenario (used for movies and TV shows). Gets the name of the director. The name of the director. Gets the name of assistant director. The name of assistant director. Gets the name of the director of photography, also known as cinematographer. The name of the director of photography, also known as cinematographer. Gets the person who oversees the artists and craftspeople who build the sets. The person who oversees the artists and craftspeople who build the sets. Gets the editor name. The editor name. Gets the name of producer the movie. The name of producer the movie. Gets the name of co-producer. The name of co-producer. Gets the name of executive producer. The name of executive producer. Gets the artist responsible for designing the overall visual appearance of a movie. The artist responsible for designing the overall visual appearance of a movie. Gets the name of the costume designer. The name of the costume designer. Gets the name of the choreographer. The name of the choreographer. Gets the name of production studio. The name of production studio. Gets the time that the composition of the music/script began. The time that the composition of the music/script began. Gets the main genre of the audio or video; e.g. "classical", "ambient-house", "synthpop", "sci-fi", "drama", etc. The main genre of the audio or video; e.g. "classical", "ambient-house", "synthpop", "sci-fi", "drama", etc. Gets intended to reflect the mood of the item with a few keywords, e.g. "Romantic", "Sad", "Uplifting", etc. Intended to reflect the mood of the item with a few keywords, e.g. "Romantic", "Sad", "Uplifting", etc. Gets the name of the software package used to create the file, such as "Microsoft WaveEdit." The name of the software package used to create the file, such as "Microsoft WaveEdit." Gets the software or hardware used to encode this item; e.g. "LAME" or "XviD" The software or hardware used to encode this item; e.g. "LAME" or "XviD". Gets a list of the settings used for encoding this item. No specific format. A list of the settings used for encoding this item. No specific format. Gets a plot outline or a summary of the story. A plot outline or a summary of the story. Provides properties and overridden methods for the analyze subtitle stream and contains information about subtitle. Gets the subtitle format. The subtitle format. Gets the subtitle codec. The subtitle codec. Describes properties of the video stream and method to analyze stream Gets or sets the video frame rate. The video frame rate. Gets or sets the video width. The video width. Gets or sets the video height. The video height. Gets or sets the video bitrate. The video bitrate. Gets or sets the video aspect ratio. The video aspect ratio. Gets or sets a value indicating whether this is interlaced. true if interlaced; otherwise, false. Gets or sets the video stereoscopic mode. The video stereoscopic mode. Gets or sets the video format. The video format. Gets or sets the video codec. The video codec. Gets or sets the stream duration. The stream duration. Gets or sets the video bit depth. The video bit depth. Gets or sets the name of the video codec. The name of the video codec. Gets the video resolution. The video resolution. Gets the video size. The vidoe size. Gets the video stream tags. The video stream tags. Indicates that the value of the marked element could be null sometimes, so the check for null is necessary before its usage. [CanBeNull] object Test() => null; void UseTest() { var p = Test(); var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' } Indicates that the value of the marked element could never be null. [NotNull] object Foo() { return null; // Warning: Possible 'null' assignment } Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task and Lazy classes to indicate that the value of a collection item, of the Task.Result property or of the Lazy.Value property can never be null. Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task and Lazy classes to indicate that the value of a collection item, of the Task.Result property or of the Lazy.Value property can be null. 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 -like form. [StringFormatMethod("message")] void ShowError(string message, params object[] args) { /* do something */ } void Foo() { ShowError("Failed: {0}"); // Warning: Non-existing argument in format string } Specifies which parameter of an annotated method should be treated as format-string For a parameter that is expected to be one of the limited set of values. Specify fields of which type should be used as values for this parameter. 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 . void Foo(string param) { if (param == null) throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol } Indicates that the method is contained in a type that implements System.ComponentModel.INotifyPropertyChanged interface and this method is used to notify that some property value changed. The method should be non-static and conform to one of the supported signatures: NotifyChanged(string) NotifyChanged(params string[]) NotifyChanged{T}(Expression{Func{T}}) NotifyChanged{T,U}(Expression{Func{T,U}}) SetProperty{T}(ref T, T, string) public class Foo : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; [NotifyPropertyChangedInvocator] protected virtual void NotifyChanged(string propertyName) { ... } string _name; public string Name { get { return _name; } set { _name = value; NotifyChanged("LastName"); /* Warning */ } } } Examples of generated notifications: NotifyChanged("Property") NotifyChanged(() => Property) NotifyChanged((VM x) => x.Property) SetProperty(ref myField, value, "Property") Describes dependency between method input and output.

Function Definition Table syntax:

FDT ::= FDTRow [;FDTRow]* FDTRow ::= Input => Output | Output <= Input Input ::= ParameterName: Value [, Input]* Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} Value ::= true | false | null | notnull | canbenull If method has single input parameter, it's name could be omitted.
Using halt (or void/nothing, which is the same) for method output means that the methos doesn't return normally (throws or terminates the process).
Value canbenull is only applicable for output parameters.
You can use multiple [ContractAnnotation] for each FDT row, or use single attribute with rows separated by semicolon. There is no notion of order rows, all rows are checked for applicability and applied per each program state tracked by R# analysis.
[ContractAnnotation("=> halt")] public void TerminationMethod() [ContractAnnotation("halt <= condition: false")] public void Assert(bool condition, string text) // regular assertion method [ContractAnnotation("s:null => true")] public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() // A method that returns null if the parameter is null, // and not null if the parameter is not null [ContractAnnotation("null => null; notnull => notnull")] public object Transform(object data) [ContractAnnotation("=> true, result: notnull; => false, result: null")] public bool TryParse(string s, out Person result)
Indicates that marked element should be localized or not. [LocalizationRequiredAttribute(true)] class Foo { string str = "my string"; // Warning: Localizable string } 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. [CannotApplyEqualityOperator] class NoEquality { } class UsesNoEquality { void Test() { var ca1 = new NoEquality(); var ca2 = new NoEquality(); if (ca1 != null) { // OK bool condition = ca1 == ca2; // Warning } } } 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. [BaseTypeRequired(typeof(IComponent)] // Specify requirement class ComponentAttribute : Attribute { } [Component] // ComponentAttribute requires implementing IComponent interface class MyComponent : IComponent { } 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). 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) Only entity marked with attribute considered used. Indicates implicit assignment to a member. Indicates implicit instantiation of a type with fixed constructor signature. That means any unused constructor parameters won't be reported as such. Indicates implicit instantiation of a type. Specify what is considered used implicitly when marked with or . Members of entity marked with attribute are considered used. Entity marked with attribute and all its members considered used. This attribute is intended to mark publicly available API which should not be removed and so is treated as used. 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. Indicates that a method does not make any observable state changes. The same as System.Diagnostics.Contracts.PureAttribute. [Pure] int Multiply(int x, int y) => x * y; void M() { Multiply(123, 42); // Waring: Return value of pure method is not used } Indicates that the return value of method invocation must be used. Indicates the type member or parameter of some type, that should be used instead of all other ways to get the value that type. This annotation is useful when you have some "context" value evaluated and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. class Foo { [ProvidesContext] IBarService _barService = ...; void ProcessNode(INode node) { DoSomething(node, node.GetGlobalServices().Bar); // ^ Warning: use value of '_barService' field } } 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 (~). An extension method marked with this attribute is processed by ReSharper code completion as a 'Source Template'. When extension method is completed over some expression, it's source code is automatically expanded like a template at call site. Template method body can contain valid source code and/or special comments starting with '$'. Text inside these comments is added as source code when the template is applied. Template parameters can be used either as additional method parameters or as identifiers wrapped in two '$' signs. Use the attribute to specify macros for parameters. In this example, the 'forEach' method is a source template available over all values of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: [SourceTemplate] public static void forEach<T>(this IEnumerable<T> xs) { foreach (var x in xs) { //$ $END$ } } Allows specifying a macro for a parameter of a source template. You can apply the attribute on the whole method or on any of its additional parameters. The macro expression is defined in the property. When applied on a method, the target template parameter is defined in the property. To apply the macro silently for the parameter, set the property value = -1. Applying the attribute on a source template method: [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] public static void forEach<T>(this IEnumerable<T> collection) { foreach (var item in collection) { //$ $END$ } } Applying the attribute on a template method parameter: [SourceTemplate] public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { /*$ var $x$Id = "$newguid$" + x.ToString(); x.DoSomething($x$Id); */ } Allows specifying a macro that will be executed for a source template parameter when the template is expanded. Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. If the target parameter is used several times in the template, only one occurrence becomes editable; other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, use values >= 0. To make the parameter non-editable when the template is expanded, use -1. > Identifies the target parameter of a source template if the is applied on a template method. ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC action. If applied to a method, the MVC action name is calculated implicitly from the context. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). ASP.NET MVC attribute. Indicates that a parameter is an MVC area. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC controller. If applied to a method, the MVC controller name is calculated implicitly from the context. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC partial view. If applied to a method, the MVC partial view name is calculated implicitly from the context. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). ASP.NET MVC attribute. Indicates that a parameter is an MVC template. Use this attribute for custom wrappers similar to System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC view component. If applied to a method, the MVC view name is calculated implicitly from the context. Use this attribute for custom wrappers similar to System.Web.Mvc.Controller.View(Object). ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC view component name. ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC view component view. If applied to a method, the MVC view component view name is default. ASP.NET MVC attribute. When applied to a parameter of an attribute, indicates that this parameter is an MVC action name. [ActionName("Foo")] public ActionResult Login(string returnUrl) { ViewBag.ReturnUrl = Url.Action("Foo"); // OK return RedirectToAction("Bar"); // Error: Cannot resolve action } Razor attribute. Indicates that a parameter or a method is a Razor section. Use this attribute for custom wrappers similar to System.Web.WebPages.WebPageBase.RenderSection(String). Indicates how method, constructor invocation or property access over collection type affects content of the collection. Method does not use or modify content of the collection. Method only reads content of the collection but does not modify it. Method can change content of the collection but does not add new elements. Method can add new elements to the collection. 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 attribute. Indicates the condition parameter of the assertion method. The method itself should be marked by attribute. The mandatory argument of the attribute is the assertion type. Specifies assertion type. If the assertion method argument satisfies the condition, then the execution continues. Otherwise, execution is assumed to be halted. Marked parameter should be evaluated to true. Marked parameter should be evaluated to false. Marked parameter should be evaluated to null value. Marked parameter should be evaluated to not null value. Indicates that the marked method unconditionally terminates control flow execution. For example, it could unconditionally throw exception. Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, .Where). This annotation allows inference of [InstantHandle] annotation for parameters of delegate type by analyzing LINQ method chains. Indicates that IEnumerable, passed as parameter, is not enumerated. Indicates that parameter is regular expression pattern. Prevents the Member Reordering feature from tossing members of the marked class. The attribute must be mentioned in your member reordering patterns XAML attribute. Indicates the type that has ItemsSource property and should be treated as ItemsControl-derived type, to enable inner items DataContext type resolve. XAML attribute. Indicates the property of some BindingBase-derived type, that is used to bind some item of ItemsControl-derived type. This annotation will enable the DataContext type resolve for XAML bindings for such properties. Property should have the tree ancestor of the ItemsControl type or marked with the attribute.