类型不包含IsAssignableFrom的定义
问题描述:
根据this文档,我试图使用IsAssignableFrom
方法。不过,我得到以下异常:类型不包含IsAssignableFrom的定义
错误CS1061“类型”不包含“IsAssignableFrom”,没有扩展方法“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);
}
}
有什么我在这里失踪?为什么我得到这个异常?
答
在.NET中标准或.Net核心应该叫GetTypeInfo()
:
if (!desiredType.GetTypeInfo().IsAssignableFrom(outputType))
任何机会瞄准.NET核心是什么? – Jamiec
您是否使用.Net核心? –
针对.Net标准1.6 – Janushoff