我对c#缺乏经验,我想询问是否有办法在不创建对象的情况下访问非静态字段?
我正在对一个程序进行单元测试(所以我不能改变编写类的方式),我的目标是获得字段的初始化值。这里的问题是构造函数更改了一些字段值。
我非常感谢任何建议。
答案 0 :(得分:1)
这是不可能的,因为根据定义,非静态字段属于某个对象。但是,有一种方法可以在不调用构造函数的情况下创建对象 - 请参阅this question。
答案 1 :(得分:1)
如果不创建对象,则无法访问非静态字段。
实现目标的唯一方法是编写一个不进行更改的构造函数。
虽然第二个想法:如果更改是构造函数的一部分,那么检查初始值对我来说没有意义。从使用此类对象的客户端对象的角度来看,这些更改没有任何效果,因为构造函数将在调用此对象之前完全执行。