Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Queryable.OfType<TResult>(IQueryable)

 

Publicado: octubre de 2016

Filtra los elementos de un IQueryable basado en 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

source
Type: System.Linq.IQueryable

Una IQueryable cuyos elementos para filtrar.

Valor devuelto

Type: System.Linq.IQueryable<TResult>

Una colección que contiene los elementos de source que tienen el tipo TResult.

Parámetros de tipo

TResult

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

Exception Condition
ArgumentNullException

El valor de source es null.

El OfType método genera un MethodCallExpression que representa la llamada OfType como un método genérico construido. Pasa a continuación el MethodCallExpression a la CreateQuery(Expression) método de la IQueryProvider representado por la Provider propiedad de la source parámetro.

El comportamiento de la consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada OfType depende de la implementación del tipo de la source parámetro. El comportamiento esperado es que filtra los elementos en source que no sean de tipo TResult.

En el ejemplo de código siguiente se muestra cómo utilizar 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
*/

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 3.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.1
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: