Main 함수
using System;
using System.Collections.Generic;
namespace Study
{
class Program
{
static void Main(string[] args)
{
// IAnimal 리스트
var list = new List<IAnimal>();
// type.GetType 으로 Cat 객체 생성
var animal = Type.GetType("Study.Cat");
var cat = Activator.CreateInstance(animal) as Cat;
cat.Name = "고양이";
list.Add(cat);
// type.GetType 으로 Dog 객체 생성
animal = Type.GetType("Study.Dog");
var dog = Activator.CreateInstance(animal) as Dog;
dog.Name = "강아지";
list.Add(dog);
// 결과 출력
foreach(var r in list)
{
Console.WriteLine($" name : {r.Name}, Type : {r.GetType()}");
}
}
}
}
IAnimal 인터페이스
using System;
using System.Collections.Generic;
using System.Text;
namespace Study
{
public interface IAnimal
{
string Name { get; set; }
}
}
IAnimal 자식 객체들
using System;
using System.Collections.Generic;
using System.Text;
namespace Study
{
// 고양이
public class Cat : IAnimal
{
public string Name { get; set; }
}
// 개
public class Dog : IAnimal
{
public string Name { get; set; }
}
}
실행 결과
반응형
'프로그래밍 > C#' 카테고리의 다른 글
Dapper 사용시 key/explicitKey (0) | 2020.01.03 |
---|---|
GetLocalIP() (0) | 2019.11.13 |
WCF 로그인 서버 공부 및 만들기 (0) | 2019.06.03 |
Wcf : binding (0) | 2019.05.26 |
string , string builder 차이 (0) | 2019.03.05 |
댓글