使用静态函数进入 class 到 return 它初始化

Use static function into the class to return it initialize

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

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

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

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