본문 바로가기
C#/C# Common

Generics

by doublerabbits 2022. 9. 4.

Generics

  • 형식 인수를 생략하고 컴파일러에서 자동으로 유추하도록 한다.

 

using System;

namespace Generics
{
    class Program
    {
        static void Main(string[] args)
        {
            var r1 = new Result<int, string> { Success = true, Data = 5, Data2 = "Hello" };
            var r2 = new Result<string, bool> { Success = true, Data = "John", Data2 = true };

            Console.WriteLine(r1.ToString());
            Console.WriteLine(r2.ToString());
            
            Console.WriteLine();

            var helper = new ResultPrinter();
            helper.Print(r1);
            helper.Print(r2);

            Console.ReadKey();
        }
    }

    public class Result<T,U>
    {
        public bool Success { get; set; }
        public T Data { get; set; }
        public U Data2 { get; set; }

        public override string ToString()
        {
            return $"{Success}, {Data}, {Data2}";
        }
    }

    public class ResultPrinter
    {
        public void Print<T,U>(Result<T,U> result)
        {
            Console.WriteLine(result.Success);
            Console.WriteLine(result.Data);
            Console.WriteLine(result.Data2);
        }
    }
}

 

 

 

 

 

 

'C# > C# Common' 카테고리의 다른 글

스크린 정보  (0) 2022.09.09
Reflection  (0) 2022.09.06
?. ??=  (0) 2022.09.04
Extension Methods  (0) 2022.09.03
LINQ  (0) 2022.09.01