2008-11-11 15 views
26

He visto esto en muchos comentarios XML para las clases en .NET Framework BCL, pero nunca he podido encontrar documentación que explique lo que hace.¿Qué hace la etiqueta filterpriority en un comentario XML?

A modo de ejemplo, mirando a System.Object revela los siguientes comentarios:

namespace System 
{ 
    /// <summary>Supports all classes in the .NET Framework class hierarchy 
    /// and provides low-level services to derived classes. This is the 
    /// ultimate base class of all classes in the .NET Framework; it is the 
    /// root of the type hierarchy.</summary> 
    /// <filterpriority>1</filterpriority> 
    [System.Runtime.InteropServices.ClassInterfaceAttribute(2)] 
    public class Object  
    {  
     /// <summary>Determines whether the specified 
     /// <see cref="T:System.Object" /> 
     /// instances are considered equal.</summary> 
     /// <returns>true if objA is the same instance as objB or 
     /// if both are null 
     /// references or if objA.Equals(objB) returns true; 
     /// otherwise, false.</returns> 
     /// <param name="objB">The second <see cref="T:System.Object" /> 
     /// to compare. </param> 
     /// <param name="objA">The first <see cref="T:System.Object" /> 
     /// to compare. </param> 
     /// <filterpriority>2</filterpriority> 
     public static bool Equals(object objA, object objB); 
    } 
} 

Respuesta

16

sólo una suposición: la ALL frente pestañas comunes en intelisense?

+0

Eso podría ser, pero esas pestañas solo están disponibles en el IDE para proyectos de VB, no en C#. Entonces, si esto realmente es una característica exclusiva de C# que no se aplicaría. –

+4

Resulta que estás en lo correcto y esta es solo una función de VB. Una prioridad de filtro = 2 es equiavalente a EditorBrowsable (EditorBrowsableState.Advanced) y el método solo aparece en la pestaña "Todos". Debe tener un archivo de comentario XML generado para que esto funcione. C# parece ignorar el comentario. –

+1

¿Puedes publicar un enlace donde lo encontraste? Tengo curiosidad porque me pregunto cómo se comportaría si el xml no estuviera de acuerdo con el atributo. –

6

Es lo mismo que decorar su miembro con EditorBrowsableAttribute. Supongo que los valores 0,1 y 2 corresponden a Siempre, Avanzado y Nunca.

+0

¿Cómo es un comentario XML lo mismo que decorar con EditorBrowsableAttribute? –

+0

Para ser más precisos; tiene el mismo efecto en Visual Studio. Gobierna qué miembros no mostrar en la lista desplegable Intellisense. –

+1

Resulta que Joel tenía razón y que esto determina la pestaña intellisense en la que aparece el método en VB.NET. También tiene razón en que proporciona el mismo comportamiento en intellisense que el atributo EditorBrowsable (EditorBrowsableState.Advanced). –

Cuestiones relacionadas