Если вы используете ключевое слово implicit вместо explicit, ваше преобразование сможет произойти без необходимого приведения. В главе 2 мы увидели, что некоторые преобразования происходят неявно: в определенных ситуациях C# автоматически повышает числовые типы. Например, вы можете использовать int там, где ожидается long, например в качестве аргумента для метода или в присваивании. Преобразование из int в long всегда будет успешным и никогда не потеряет информацию, поэтому компилятор автоматически генерирует код для выполнения такого преобразования, не требуя явного приведения. Если вы пишете неявные операторы преобразования, компилятор C# будет точно так же молча их применять, позволяя использовать ваш пользовательский тип там, где ожидается какой-то другой.
Программируем на C# 8.0. Разработка приложений
·
Иэн Гриффитс