根據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核心是什麼? – Jamiec
您是否使用.Net核心? –
針對.Net標準1.6 – Janushoff