c# - 时间:2019-05-10 标签:c#constructorchaining/defaultconstructor
问题描述
编程新手,想知道在代码中用 C# 声明默认构造函数是否是最佳实践,即使我认为 C# 会为你做这件事。例如,以下没有语句的打开构造函数的目的是什么。下面的例子是我一直在关注的,但不是很明白为什么 OperationResult 的两个构造函数类是链式的?为什么还需要空的?
public class OperationResult<T>
{
public OperationResult()
{
}
public OperationResult(T result, string message) : this()
{
this.Result = result;
this.Message = message;
}
public T Result { get; set; }
public string Message { get; set; }
}
}
解决方案
如果您不声明任何构造函数,C# 将假定没有参数的默认构造函数。因此,如果您不需要构造函数的任何重载,并且在创建类的新实例时也不需要编写代码,则不需要声明构造函数。但是,如果您有构造函数的重载(如果您声明带有参数的构造函数),那么没有参数的构造函数将不可用,除非您明确声明它。如果您不需要其中的任何代码,它就像您在示例中提到的空构造函数一样。
推荐阅读
- javascript - 执行我的文件时出现的这个错误是什么?
- react-native - 比较更新 redux 状态前后的值
- c# - UnauthorizedAccessException:使用管道在 IIS 中托管 .net 核心 mvc 时拒绝访问路径
- php - 无法转义文件名中的“&”,使得 file_exists 评估为 true
- python - OpenCV Python 频域过滤结果不如预期
- android - LiveData Mvvm - 如何使用 LiveData 发送多个类型?我正在尝试发送对象以及要更新的适配器位置
- amazon-web-services - 如何在 AWS 控制台中查看 API 网关的源配置?
- python - 在熊猫数据框中汇总行?
- reactjs - 使用不同的值重复使用 Control 组件两次
- azure-devops - 什么是“vsts_azpcontainer”目录?