첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
------------------------------------------------------------------------------------------------------------------------------------------------------
728x90
728x170

■ implicit operator 키워드를 사용해 암시적 변환을 처리하는 방법을 보여준다.

TestProject.zip
0.00MB

▶ Data.cs

namespace TestProject;

/// <summary>
/// 데이터
/// </summary>
public class Data
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Property
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 값 - Value

    /// <summary>
    /// 값
    /// </summary>
    public int Value { get; set; }

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 생성자 - Data(value)

    /// <summary>
    /// 생성자
    /// </summary>
    /// <param name="value">값</param>
    public Data(int value)
    {
        Value = value;
    }

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Method
    ////////////////////////////////////////////////////////////////////////////////////////// Static
    //////////////////////////////////////////////////////////////////////////////// Public

    #region 정수로 암시적 변환하기 - int(data)

    /// <summary>
    /// 정수로 암시적 변환하기
    /// </summary>
    /// <param name="data">데이터</param>
    public static implicit operator int(Data data)
    {
        return data.Value;
    }

    #endregion
    #region 데이터로 암시적 변환하기 - Data(value)

    /// <summary>
    /// 데이터로 암시적 변환하기
    /// </summary>
    /// <param name="value">값</param>
    public static implicit operator Data(int value)
    {
        return new Data(value);
    }

    #endregion
}

 

▶ Program.cs

namespace TestProject;

/// <summary>
/// 프로그램
/// </summary>
class Program
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Method
    ////////////////////////////////////////////////////////////////////////////////////////// Static
    //////////////////////////////////////////////////////////////////////////////// Private

    #region 프로그램 시작하기 - Main()

    /// <summary>
    /// 프로그램 시작하기
    /// </summary>
    private static void Main()
    {
        int value1 = 10;

        Data data = (Data)20;

        int value2 = value1 + data;

        Console.WriteLine($"값 1      : {value1}");
        Console.WriteLine($"데이터 값 : {data.Value}");
        Console.WriteLine($"값 2      : {value2}");
    }

    #endregion
}
728x90
그리드형(광고전용)
Posted by icodebroker
,