Это не может быть сделано в C #.Однако виртуальная машина .NET более мягкая, чем C #.Есть много функций, которые C # не предоставляет.
На уровне IL вы можете просто вызывать непубличные методы.Вы также можете сделать это с помощью генерации кода во время выполнения с помощью отражения emit.Это очень полезно для создания быстрых сериализаторов.
JIT также способен компилировать непроверяемый и даже неверный IL.Результат не полностью определен.
Как создавалась эта сборка?Моей первой мыслью было, что это результат работы инструмента компоновки IL.Сборки .NET могут быть подвергнуты последующей обработке, чтобы объединить или оптимизировать их.Это также может быть результатом использования инструмента запутывания (особенно метода, который не может быть декомпилирован).
Похоже, что в инструменте есть ошибка, потому что он определенно не является намеренным для создания открытого метода, который обычно не вызывается.
Если вы хотите поэкспериментировать с этим, вы можете декомпилировать любую сборку в IL, редактировать ее и компилировать.ИЛ создан для того, чтобы совершить круговорот во всем, во что я верю.