You can invoke the constructor many times using Reflection, because the constructor is a kind of special method, so you can name it as a method.
public void Reset() { this.GetType().GetConstructor(Type.EmptyTypes).Invoke(this, new object[] { }); }
HENCE : this is not how you should do it . If you want to use the reset object for some default settings, just create an auxiliary, private method for it, also called from the constructor:
public ClassName() { Defaults(); } public void Reset() { Defaults(); } private void Defaults() { Value = 10; }
source share