하고자 하는 목적이 너무 달라요
C#의 using
은 타입의 alias를 지원하지만 다른 타입을 만드는 거는 아니에요.
using CustomerId = int;
using OrderId = int;
CustomerId customerId = 1;
OrderId orderId = 2;
customerId = orderId; // 가능
OrderId 타입을 CustomerId 타입 변수에 넣고 싶지 않은데… C#은 언어에서 지원 하지 않지요.
F#은 언어에서 지원합니다 ㅋㅋ
type CustomerId = CustomerId of int
type OrderId = OrderId of int
let mutable customerId = CustomerId 1
let orderId = OrderId 1
customerId <- CustomerId 2
customerId <- orderId; // Error: This expression was expected to have type customerId but here has type OrderId