没有新C#的构造函数

Fau*_*hez 4 c# constructor

我想知道如何编写这种类型的构造函数:

Person p = Person.CreateWithName("pedro");
Person p1 = Person.CreateEmpty();
Run Code Online (Sandbox Code Playgroud)

并将每个构造函数的代码分开.

小智 6

那些是所谓的工厂方法,技术上是Class(person)上的静态方法,然后在类(Person.Create)上调用.

从技术上讲,他们在内部使用new创建Person - 但它可以通过PRIVATE CONSTRUCTOR实现.


小智 5

你只需在该类中创建一个静态方法,即

class Person {
  public Person(string name) {
    //Constructor logic
  }
  public static Person CreatePerson() {
    return new Person(string.Empty);
  }
}
Run Code Online (Sandbox Code Playgroud)