c# - 如何防止调用结构的默认构造函数?

标签 c# struct default-constructor

有什么方法可以防止调用结构的默认构造函数吗?

我的项目中有几个结构,其中一些我不能让默认构造函数在任何情况下都被调用(这会在我的代码中导致很多不需要的行为)。

PS.: 任何解决方案只要在编码时指示我一些特殊结构(不能用默认构造函数实例化)被“错误地”实例化,对我来说都很好。对于我的情况,一个简单的编译器警告就足够了!

最佳答案

你不能。

本质上,

  • struct 的所有字段都必须初始化为某个值。
  • struct 不能有无参数构造函数
  • 将隐式调用无参数构造函数,没有办法绕过它。

如果您需要这样的行为或检查您的设计,请使用

关于c# - 如何防止调用结构的默认构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36604708/

相关文章:

c# - 泛型 IAbstract<T> 继承自 IAbstract

c - C 结构体的大小; GCC 与实际计算

c++ - 为什么在大括号初始化成员变量后还需要另一组大括号?

java - 构造函数在非静态 block 之前调用?

c++ - 使用T的默认构造函数作为默认初始值

c# - 为什么通过 Latest 订阅 RX.NET 中的可观察对象只接受 1 个订阅者?

c# - fubumvc - 将集合呈现为下拉列表

c# - Silverlight 上的 .NET 是否具有与 Objective-C 中的 firstObjectCommonWithArray 等效的功能?

c - strcpy to struct 时出现段错误

class - Swift 中结构体和类的区别