Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

Namespace System.Reflection ใน C#


Namespace System.Reflection ใน C# มีประเภท (Types) ที่ให้ข้อมูลเกี่ยวกับ Assemblies, Modules, Members, Parameters และรายการอื่นๆ ในโค้ดโดยการตรวจสอบ Metadata คลาส Assembly ใน namespace นี้แทน Assembly ปกติเข้าถึงได้ผ่านคุณสมบัติ Assembly บน Type

เอกลักษณ์ของ Assembly ประกอบด้วย 4 ส่วน:

  • Simple name (ชื่อเรียบง่าย)
  • Version จากแอตทริบิวต์ AssemblyVersion ในรูปแบบ major.minor.build.revision (0.0.0.0 หากไม่มี)
  • Culture (neutral หากไม่ใช่ Satellite Assembly)
  • Public Key Token (null หากไม่ได้ Strong Name)

Fully Qualified Assembly Name เป็นสตริงรวมรายการระบุตัวตนในรูปแบบ: simple-name, Version=version, Culture=culture, PublicKeyToken=public-key

ตัวอย่าง:

Assembly assembly = typeof(Person).Assembly;
// Prints: c-sharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Console.WriteLine(assembly.FullName);

Assembly Loading คือกระบวนการโหลด Assembly จากตำแหน่งที่ทราบ CLR มักโหลดโดยใช้ Full Name กระบวนการนี้เรียกว่า Assembly Resolution เกิดขึ้นเมื่อ CLR ต้อง resolve dependency หรือโปรแกรมเมอร์ต้องการโหลด Assembly แบบ Dynamic ด้วย Assembly.Load(assemblyName)