ใน Dynamic binding คอมไพล์อร์ไม่ทำ type checking ตอนคอมไพล์ ตรวจสอบตอนรันไทม์แทน
ใช้หลีกเลี่ยงข้อจำกัดของ anonymous types ต่อหนึ่งเมธอด เพราะชื่อชนิดมองเห็นได้เฉพาะคอมไพล์อร์ จึงไม่สามารถประกาศเป็นค่าส่งคืนของเมธอดได้
ตัวอย่าง
public dynamic GetAnonymousType() {
return new {
StudentName = "Tom",
Subject = "Java"
};
}
เมธอดตั้งค่าเป็น dynamic หมายถึงคอมไพล์อร์ไม่ตรวจสอบชนิดตอนคอมไพล์:
public dynamic GetAnonymousType() { }