Это эквивалентно методам класса в Object Pascal. (реализация .Net будет оксигеном RemObject).
Однако, хотя ссылки на классы и, следовательно, методы виртуальных классов или, казалось бы, статические методы, которые могут получить доступ к некоторому состоянию уровня класса, хороши в оригинальной платформе, я не думаю, что они имеют смысл для .Net или C #. *
Раньше я также программировал на Oxygene в течение нескольких лет, и мне никогда не требовались ссылки на классы.
Не потому, что я не знал, как их использовать. В «оригинальной» платформе ObjectPascal, родной Delphi, я использовал их все времени.
Но потому что .Net и BCL не имеют реальной поддержки для них, поэтому у вас нет никаких преимуществ при их использовании. В то время как платформы, такие как python или нативный Delphi, поддерживают их в своих библиотеках.
Очевидно, что вам не нужен статический метод, вам нужно то, что может иметь состояние и / или поддерживать наследование. Так что либо фабрики, либо в вашем случае конструктор тоже подойдет.