dynamic 형식
MSDN : dynamic 형식 사용(C# 프로그래밍 가이드)
https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/types/using-type-dynamic
- 형식 검사가 프로그램 실행중에 이루어짐.
- dynamic 키워드를 사용하면 컴파일러가 형식 검사를 건너뛰고 실행할 때로 미뤄둠.
동적으로 형식 바꾸기
- dynamic은 개체를 동적 형식으로 암시적으로 변환할 수 있다.
dynamic temp = 5;
temp = "가나다라";
temp = new B_Class();
dynamic으로 함수 호출하기
- 상속이나 인터페이스를 이용하지 않았는데도 위와 같은 코드가 가능해진다.
- 하지만 메소드의 이름을 바꿀 때는 실제로는 레퍼런스로 연결된게 아니라서 string처럼 직접 바꿔줘야한다.
- 오타로 실제 형식이 가지고 있지 않은 메소드를 호출한 경우 런타임 오류를 일으킨다.
public class A_Class
{
public void My() { }
}
public class B_Class
{
public void My() { }
}
public class SampleClass
{
public void SomeMethod()
{
dynamic[] dynamics = new dynamic[2] { new A_Class(), new B_Class() };
foreach (var item in dynamics)
item.My();
}
}
var vs dynamic
- var는 컴파일 시점에서 형식이 결정된다.
- dynamic은 런타임 시점에서 형식이 결정된다.
'🌍 C# Study > C# 기초' 카테고리의 다른 글
C# Enumerable.SequenceEqual 배열 같음 / 배열 같음 (0) | 2023.04.25 |
---|---|
C# 복습하기 16) 애트리뷰트(Attribute) (0) | 2021.04.14 |
C# 복습하기 15) 리플렉션 (0) | 2021.04.14 |
C# 복습하기 14) LINQ (0) | 2021.04.13 |
C# 복습하기 13) 람다식 (0) | 2021.04.13 |