2554-08-03

Reflection


Dim assemblyPath As String = GetConfigurationValue(envPrefix & ".TemplateSelectorFormAssemblyPath")
Dim myAssembly As Assembly = Assembly.LoadFrom(assemblyPath)
Dim ReflectionObject As Type = myAssembly.GetType("BOT.DMS.ExcelTemplate.Common.TemplateSelectorForm")

templateSelector = Activator.CreateInstance(ReflectionObject)
templateSelector.Init(xeCategories, xeTemplateInfos)
ตัวอย่างการเขียน Reflection โดยหลักๆ แล้วก็คือการโหลด dll เข้าไปใช้ แต่สิ่งที่น่าสนใจคือ
มันต่างอะไรกับที่การเรา add reference project เ้ข้าไป เดี๋ยวหาคำตอบมาเล่าให้ฟังครับ

1 ความคิดเห็น:

  1. ได้ข้อดีมา 1 ข้อแล้ว อันนี้ในกรณีเป็น window application ข้อดีคือ scalability , maintenance
    ถ้าเรา add reference project เวลาถ้าเรามีการ update dll ในโปรเจ็คไหนที่เรา reference สักตัวเราก็ต้องไปไล่ update ที่ client ทั้งหมด

    แต่ถ้าเราใช้ reflection เราก็ update ที่ path ที่เป็น dll ใน server ที่เดียวจบข่าวฮะ

    ตอบลบ