Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Queryable.OfType<TResult> (Método)

Filtra los elementos de IQueryable en función de un tipo especificado.

Espacio de nombres:  System.Linq
Ensamblado:  System.Core (en System.Core.dll)

public static IQueryable<TResult> OfType<TResult>(
	this IQueryable source
)

Parámetros de tipo

TResult

El tipo según el cual se van a filtrar los elementos de la secuencia.

Parámetros

source
Tipo: System.Linq.IQueryable
IQueryable cuyos elementos se van a filtrar.

Valor devuelto

Tipo: System.Linq.IQueryable<TResult>
Colección que contiene los elementos de source que son de tipo TResult.

Nota sobre el uso

En Visual Basic y C#, se puede llamar a este método como a un método de instancia en cualquier objeto de tipo IQueryable. Cuando emplee la sintaxis del método de instancia para llamar a este método, omita el primer parámetro. Para obtener más información, vea Métodos de extensión (Visual Basic) o Métodos de extensión (Guía de programación de C#).

ExcepciónCondición
ArgumentNullException

source es null.

El método OfType genera un objeto MethodCallExpression que representa el propio método OfType que realiza la llamada como un método genérico construido. A continuación, pasa el objeto MethodCallExpression al método CreateQuery(Expression) de la interfaz IQueryProvider representada por la propiedad Provider del parámetro source.

El comportamiento de la consulta que se produce como resultado de ejecutar un árbol de expresión que representa el método OfType que realiza la llamada depende de la implementación del tipo del parámetro source. El comportamiento esperado es que filtre los elementos de source que no son de tipo TResult.

En el ejemplo de código siguiente se muestra cómo se utiliza OfType para filtrar los elementos que no son de tipo PropertyInfo en una lista de elementos de tipo MemberInfo.


            // Create a list of MemberInfo objects.
            List<System.Reflection.MemberInfo> members = typeof(String).GetMembers().ToList();

            // Return only those items that can be cast to type PropertyInfo.
            IQueryable<System.Reflection.PropertyInfo> propertiesOnly =
                members.AsQueryable().OfType<System.Reflection.PropertyInfo>();

            Console.WriteLine("Members of type 'PropertyInfo' are:");
            foreach (System.Reflection.PropertyInfo pi in propertiesOnly)
                Console.WriteLine(pi.Name);

            /*
                This code produces the following output:

                Members of type 'PropertyInfo' are:
                Chars
                Length
            */



.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.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.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft