Вы не можете напрямую перегрузить операторы> = и <=, но вы можете достичь того же результата, перегрузив> и == по отдельности.
Ваш код мне кажется правильным, крометот факт, что вы пропустите перегрузку для ==.
Кажется, я ошибался, однако вы всегда можете вернуться к размышлению.Я думаю, что если вы покопаетесь и взломаете, вы можете заставить его работать с отражением, чтобы расширить класс, поскольку отражение позволяет добавлять функции или менять тела функций во время выполнения.
Является ли это целесообразной и хорошей практикой, я сомневаюсь в этом.Есть причина, почему класс запечатан.Выполнение того, что я упомянул, может привести к неопределенному поведению в некоторых обстоятельствах из-за некоторых допущений, которые платформа .net делает со строками.Большие шансы на то, что класс string будет внутренне разрушен.