C# implements BigInteger.Parse as a static class method, and there is obvious reason for it: you can call a static class methods in a variable’s declaration:
BigInteger N = BigInteger.Parse(stringToParse);
Delphi/Pascal does not support the above syntax, so the equivalent code is
var N: BigInteger; begin N:= BigInteger.Parse(stringToParse);
But now it looks like implementing BigInteger.Parse as a static class method is nothing but additional typing; using an instance method looks better:
var N: BigInteger; begin N.Parse(stringToParse);
So, what is the right “Delphi way” of implementing BigInteger.Parse – as a static class method or as an instance method?