我需要使用界面创建动态 T。但我收到“类型转换”错误。这是我的代码:
interface IEditor { }
class Editor : IEditor { }
class Test<T> { }
现在将是动态的,所以我使用下面的代码:
Test<IEditor> lstTest = (Test<IEditor>)Activator.CreateInstance(typeof(Test<>).MakeGenericType(typeof(Editor)));
我收到以下错误
无法将“CSharp_T.Test`1[CSharp_T.Editor]”类型的对象转换为“CSharp_T.Test`1[CSharp_T.IEditor]”类型。
此错误不是编译错误,但我收到运行时错误。