C# 类型不包含IsAssignableFrom的定义

C# 类型不包含IsAssignableFrom的定义,c#,.net-standard,C#,.net Standard,根据一篇文档,我正在尝试使用IsAssignableFrom方法。但是,我得到以下例外情况: 错误CS1061“Type”不包含“IsAssignableFrom”的定义,并且找不到接受“Type”类型的第一个参数的扩展方法“IsAssignableFrom”(是否缺少using指令或程序集引用?) 冒犯的界线是 if(!desiredType.IsAssignableFrom(outputType)) 在以下班级: internal class DefaultResolvable : IRes

根据一篇文档,我正在尝试使用
IsAssignableFrom
方法。但是,我得到以下例外情况:

错误CS1061“Type”不包含“IsAssignableFrom”的定义,并且找不到接受“Type”类型的第一个参数的扩展方法“IsAssignableFrom”(是否缺少using指令或程序集引用?)

冒犯的界线是

if(!desiredType.IsAssignableFrom(outputType))

在以下班级:

internal class DefaultResolvable : IResolvable
{
    internal IDictionary<Type, Type> TypeContainer { get; set; }

    public T Resolve<T>()
    {
        if(this.TypeContainer == null)
        {
            throw new TypeRepositoryEmptyException();
        }

        var desiredType = typeof(T);
        var outputPair = this.TypeContainer.FirstOrDefault(pair => pair.Key == desiredType);
        if(outputPair.Key == null || outputPair.Value == null)
        {
            throw new CannotResolveTypeException();
        }

        var outputType = outputPair.Value;
        if (!desiredType.IsAssignableFrom(outputType))
        {
            throw new CannotResolveTypeException();
        }

        return (T)Activator.CreateInstance(outputType);
    }
}
内部类DefaultResolvable:IResolvable
{
内部IDictionary类型容器{get;set;}
公共事务解决方案
{
if(this.TypeContainer==null)
{
抛出新的TypeRepositoryEmptyException();
}
var desiredType=类型(T);
var outputPair=this.TypeContainer.FirstOrDefault(pair=>pair.Key==desiredType);
if(outputPair.Key==null | | outputPair.Value==null)
{
抛出新的CannotResolveTypeException();
}
var outputType=outputPair.Value;
如果(!desiredType.IsAssignableFrom(outputType))
{
抛出新的CannotResolveTypeException();
}
return(T)Activator.CreateInstance(outputType);
}
}

这里有我遗漏的东西吗?为什么会出现此异常?

在.Net Standard或.Net Core中,您应该调用
GetTypeInfo()


在.Net Standard或.Net Core中,您应该调用
GetTypeInfo()


有机会瞄准.NET COre吗?你在使用.NET COre吗?有机会瞄准.NET Standard 1.6瞄准.NET COre吗?有机会瞄准.NET COre吗?瞄准.NET Standard 1.6欢呼,我不知道我必须在Standard中这样做!太好了,只需要添加
系统。反射
名称空间。干杯,我不知道我必须在标准中这样做!很好,只需添加
System.Reflection
名称空间。
if (!desiredType.GetTypeInfo().IsAssignableFrom(outputType))