[D] 타입 추출 및 주입

[원본 링크]

typeof
이 키워드는 값에서 타입을 추출한다.
따라서 이런식으로 쓸수있다. image

image

mixin
이건 타입명을 문자열로 받아서 타입을 반환한다. image

image 컴파일러 버전에 따라, 동작하지 않을 수도 있다.

구버전에서는 타입만 따로 표현이 안되고, mixin("int num;");처럼 해서 eval처럼 써야 하더라.

여튼 이 기능은 보기와는 다르게 컴파일타임에 처리한다.
때문에 이런 코드는 에러가 난다. image

image


typeid
이건 타입명이나 객체를 받아서, 해당 타입에 대한 정보를 처리하는 TypeInfo 객체를 반환한다.
이런식으로 image

image


참조
https://dlang.org/spec/expression.html#typeid_expressions