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 เ้ข้าไป เดี๋ยวหาคำตอบมาเล่าให้ฟังครับ
Advertisements
1 comment
  1. ได้ข้อดีมา 1 ข้อแล้ว อันนี้ในกรณีเป็น window application ข้อดีคือ scalability , maintenanceถ้าเรา add reference project เวลาถ้าเรามีการ update dll ในโปรเจ็คไหนที่เรา reference สักตัวเราก็ต้องไปไล่ update ที่ client ทั้งหมดแต่ถ้าเราใช้ reflection เราก็ update ที่ path ที่เป็น dll ใน server ที่เดียวจบข่าวฮะ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: