我有一个获取对象属性名的c#类。
public class MyClass
{
public int Id { get; set; }
public int Name { get; set; }
}
public class Parser<T>
{
public IEnumerable<string> Parse(T item)
{
const BindingFlags flag = BindingFlags.Instance | BindingFlags.Public;
return item.GetType().GetProperties(flag).Select(p => p.Name);
}
}
我想测试这个methot。
[Test]
public void TestMethod()
{
var parser = new Parser<MyClass>();
var names = parser.Parse(new MyClass()).ToArray();
Assert.IsTrue(names[1] == "Name");
}
但是这会引发异常 System.NullReferenceException 。但是我把断点看到names
数组有两个项目。
Assert.IsTrue(names[1] == "Name");
行抛出异常。但是有两个项目。
测试&#39; M:ParsProejct.TestsClass.TestMethod。&#39;失败:对象引用 没有设置为对象的实例。