Section 36.2: MSDN 의 묵시적 (implicit) 연산자 예제

class Digit { public Digit(double d) { val = d; } public double val; // Digit 을 double 타입으로 변환하는 사용자 정의 연산자 public static implicit operator double(Digit d) { Console.WriteLine("Digit to double implict conversion called"); return d.val; } // double 타입을 Digit 으로 변환하는 사용자 정의 연산자 public static implicit operator Digit(double d) { Console.WriteLine("double to Digit implict conversion called"); return new Digit(d); } } class Program { static void Main(string[] args) { Digit dig = new Digit(7); // 아래 코드는 묵시적 "double" 연산자를 호출한다 double num = dig; // 아래 코드는 묵시적 "Digit" 연산자를 호출한다 Digit dig2 = 12; Console.WriteLine("num = {0} dig2 = {1}", num, dig2.val); Console.ReadLine(); } }

출력 결과:

Digit to double implict conversion called double to Digit implict conversion called num = 7 dig2 = 12

.NET Fiddle 에서 라이브 데모 확인하기

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts