I have a base class Base, and class A/B that inherits from it.
public class Base
{
int x;
}
public class A : Base
{
int y;
}
public class B : Base
{
int z;
}
I tried to use OfType to filter the only object that I need as follows:
public static void RunSnippet()
{
Base xbase; A a; B b;
IEnumerable<Base> list = new List<Base>() {xbase, a, b};
Base f = list.OfType<A>; // I need to get only the object A
Console.WriteLine(f);
}
When I compiled the code, I got this error:
error CS0428: Cannot convert method group 'OfType' to non-delegate type 'Base'. Did you intend to invoke the method?
What's wrong with the code?
Brackets ?
This is a function and not operator.
Check out the reference:
Enumerable.OfType(Of TResult) Method
There are two problems:
OfType
returnsIEnumerable<T>
, notT
Perhaps you wanted:
?