c# - 在类中使用静态函数返回它初始化
问题描述
我只是对这个例子有疑问。在我的类中使用静态函数来创建具有正确类型的对象。它是一个编码标准还是很奇怪?
public partial class Example
{
public enum enumType
{
typeA,
typeB
}
private string type;
public Example(enumType type)
{
if ( type == enumType.typeA)
{
this.type = enumType.typeA.ToString();
}
else
{
this.type = enumType.typeB.ToString();
}
}
public static Example CreateAsTypeA()
{
return new Example(enumType.typeA);
}
public static Example CreateAsTypeB()
{
return new Example(enumType.typeB);
}
}
解决方案
是的,您的方法应该是静态的。
因为它们本质上是在构造类的变体,所以不需要存储有关对象实例的任何内容。您的方法或多或少是构造函数,而不是太多属性。也就是说,您可能想研究静态构造函数的概念。这是一个链接:https ://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/constructors
推荐阅读
- r - 在 R 中:如何告诉 R 在应用两个条件时应将值插入分类列
- google-cloud-platform - 在 GoogleCloud Platform 上上传密钥
- java - LinkedList 中的无限循环(并发问题?)
- reactjs - Material UI:更改未选中单选按钮的颜色
- linux-kernel - 内核模块如何自动加载
- python - 我遇到了这个错误的问题(-215:断言失败)!ssize.empty() in function 'resize'
- r - R:如何用中位数替换 NAs?
- c# - Swagger UI 没有正确获取承载参数
- export-to-csv - 如何在grafana中关闭时间序列数据表中的数据格式?
- reactjs - 无法在 react.js 中使用 axios.patch()