首页 > 解决方案 > 在类中使用静态函数返回它初始化

问题描述

我只是对这个例子有疑问。在我的类中使用静态函数来创建具有正确类型的对象。它是一个编码标准还是很奇怪?

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);
    }
}

标签: c#wpfcoding-style

解决方案


是的,您的方法应该是静态的。

因为它们本质上是在构造类的变体,所以不需要存储有关对象实例的任何内容。您的方法或多或少是构造函数,而不是太多属性。也就是说,您可能想研究静态构造函数的概念。这是一个链接:https ://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/constructors


推荐阅读