C# IsType<;T>;和IsType(对象,对象)引发IsTypeException

C# IsType<;T>;和IsType(对象,对象)引发IsTypeException,c#,xunit,xunit.net,C#,Xunit,Xunit.net,我试图断言方法调用返回的对象属于List类型,因此使用xUnit我尝试了以下操作: var expected = typeof(List<MyClass>); var actual = typeof(method()); Assert.IsType<List<MyClass>>(actual); Assert.IsType(expected, actial); areSameType为true。那么,是否有更深层次的事情我没有解释 文件: Assert.

我试图断言方法调用返回的对象属于
List
类型,因此使用xUnit我尝试了以下操作:

var expected = typeof(List<MyClass>);
var actual = typeof(method());

Assert.IsType<List<MyClass>>(actual);
Assert.IsType(expected, actial);
areSameType
true
。那么,是否有更深层次的事情我没有解释

文件:


Assert.IsType的第一个参数应该是对象本身,而不是其类型,以下参数不应抛出:

var expected = typeof(List<MyClass>);
var actual = Method();

Assert.IsType<List<MyClass>>(actual);
Assert.IsType(expected, actual);
var expected=typeof(列表);
var实际值=方法();
Assert.IsType(实际);
Assert.IsType(预期、实际);

您还可以将其简化为第2行和第3行,或第1行、第2行和第4行(即,按照
预期的
创建对象,或只是将类型和
实际的
一起传递)。当然可以,但答案遵循问题的模式,并且更易于理解
var expected = typeof(List<MyClass>);
var actual = Method();

Assert.IsType<List<MyClass>>(actual);
Assert.IsType(expected, actual);