Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

DebuggerTypeProxyAttribute (Clase)

Especifica el servidor proxy de presentación de un tipo.

System.Object
  System.Attribute
    System.Diagnostics.DebuggerTypeProxyAttribute

Espacio de nombres:  System.Diagnostics
Ensamblado:  mscorlib (en mscorlib.dll)

[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct, AllowMultiple = true)]
[ComVisibleAttribute(true)]
public sealed class DebuggerTypeProxyAttribute : Attribute

El tipo DebuggerTypeProxyAttribute expone los siguientes miembros.

  NombreDescripción
Método públicoDebuggerTypeProxyAttribute(String)Inicializa una nueva instancia de la clase DebuggerTypeProxyAttribute utilizando el nombre de tipo del servidor proxy.
Método públicoDebuggerTypeProxyAttribute(Type)Inicializa una nueva instancia de la clase DebuggerTypeProxyAttribute utilizando el tipo del servidor proxy.
Arriba

  NombreDescripción
Propiedad públicaProxyTypeNameObtiene el nombre de tipo del servidor proxy.
Propiedad públicaTargetObtiene o establece el tipo de destino del atributo.
Propiedad públicaTargetTypeNameObtiene o establece el nombre del tipo de destino.
Propiedad públicaTypeIdCuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. (Se hereda de Attribute).
Arriba

  NombreDescripción
Método públicoEqualsInfraestructura. Devuelve un valor que indica si esta instancia equivale al objeto especificado. (Se hereda de Attribute).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoGetHashCodeDevuelve el código hash de esta instancia. (Se hereda de Attribute).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoIsDefaultAttributeCuando se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado para la clase derivada. (Se hereda de Attribute).
Método públicoMatch Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual al objeto especificado. (Se hereda de Attribute).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privado_Attribute.GetIDsOfNamesAsigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.GetTypeInfoObtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.GetTypeInfoCount

Recupera el número de interfaces de tipo de información que suministra un objeto (0 ó 1)

(Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.InvokeProporciona acceso a las propiedades y los métodos expuestos por un objeto. (Se hereda de Attribute).
Arriba

Nota   Utilice este atributo cuando necesite realizar cambios significativos y fundamentales en la vista de depuración de un tipo sin cambiar el propio tipo.

El atributo DebuggerTypeProxyAttribute se utiliza para especificar un servidor proxy de presentación de un tipo y permitir a un desarrollador que ajuste la vista para el tipo. Este atributo también se puede utilizar en el nivel de ensamblado, en cuyo caso la propiedad Target especifica el tipo para el que se utilizará el servidor proxy. En general, este atributo especifica un tipo anidado privado que aparece dentro del tipo al que se aplica el atributo. Un evaluador de expresiones que admite los visores de tipo comprueba la existencia de este atributo cuando se muestra un tipo. Si se encuentra el atributo, el evaluador de expresiones sustituye el tipo de servidor proxy de presentación para el tipo al que se aplica el atributo.

Cuando está presente el atributo DebuggerBrowsableAttribute, en la ventana de las variables del depurador se muestran únicamente los miembros públicos del tipo de servidor proxy. No se muestran los miembros privados. El comportamiento de la ventana de datos no lo modifican las vistas mejoradas por atributos.

Para evitar una disminución innecesaria del rendimiento, los evaluadores de expresiones no deben examinar los atributos en el servidor proxy de presentación del tipo a menos que el tipo esté expandido, ya sea a través del usuario que hace clic en el signo más (+) situado junto al tipo en una ventana de datos o a través del atributo DebuggerBrowsableAttribute. Por consiguiente, se recomienda no aplicar ningún atributo al tipo de presentación. Los atributos pueden y deben aplicarse en el cuerpo del tipo de presentación.

En el ejemplo de código siguiente se muestra el uso del atributo DebuggerTypeProxyAttribute para especificar un tipo anidado privado que se va a utilizar como servidor proxy de presentación del depurador. Este ejemplo de código forma parte de un ejemplo más extenso referente a la clase DebuggerDisplayAttribute.


[DebuggerTypeProxy(typeof(HashtableDebugView))]
class MyHashtable : Hashtable
{
    private const string TestString = "This should not appear in the debug window.";

    internal class HashtableDebugView
    {
        private Hashtable hashtable;
        public const string TestString = "This should appear in the debug window.";
        public HashtableDebugView(Hashtable hashtable)
        {
            this.hashtable = hashtable;
        }

        [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
        public KeyValuePairs[] Keys
        {
            get
            {
                KeyValuePairs[] keys = new KeyValuePairs[hashtable.Count];

                int i = 0;
                foreach(object key in hashtable.Keys)
                {
                    keys[i] = new KeyValuePairs(hashtable, key, hashtable[key]);
                    i++;
                }
                return keys;
            }
        }
    }
}


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft