我有一个以下的通用类:
public class SearchResult<T>
{
public int ResultCount { get; set; }
public IEnumerable<T> Result { get; set; }
}
我还有一个名为的类,实现了IFlyble
接口:
public class Bird : IFlyable
{
public void Fly() {}
}
public interface IFlyable
{
void Fly();
}
我还有一个类型为object
的变量res
。
如何判断res
是否为SearchResult<IFlyable>
?
我尝试了以下方法:
if (res.GetType().IsAssignableFrom(typeof(SearchResult<IFlyable>)))
{
///
}
并且这样做:
if(res is SearchResult<IFlyable>)
{
///
}
但它似乎不起作用。
object
是否是一个SearchResult<Flyable>
。 - koryakinpres
的实际具体类型是什么?它是object res = new SearchResult<IFlyable>()
还是实际上是object res = new SearchResult<Bird>()
。 - juharrobject res = new SearchResult<Bird>()
@juharrobject res = new SearchResult<Bird>()
- koryakinpSearchResult<Bird>
,为什么我可以将结果计数设置为 -100 呢? - Eric Lippert