访问非静态字段而不创建对象

本文关键字:创建对象 字段 静态 访问 | 更新日期: 2023-09-27 18:15:41

我缺乏c#经验,我想问是否有任何方法可以在不创建对象的情况下访问非静态字段?

我正在单元测试一个程序(所以我不能改变类的编写方式),我的目标是获得字段的初始化值。这里的问题是构造函数改变了一些字段的值。

访问非静态字段而不创建对象

这是不可能的,因为根据定义,非静态字段属于某个对象。但是,有一种方法可以在不调用构造函数的情况下创建对象——参见这个问题。

如果不创建对象,就无法访问非静态字段。

实现目标的唯一方法是编写一个不进行更改的构造函数。

不过我又想了一下:如果更改是构造函数的一部分,那么检查初始值对我来说就没有意义了。从使用该类对象的客户端对象的角度来看,这些更改没有影响,因为在调用该对象之前,构造函数将完全执行。