Bạn có thể muốn có một cái nhìn tại các lớp ComVisibleAttribute để tìm hiểu thêm về cách bạn có thể làm cho các lớp học quản lý có sẵn để mã unmanaged.
[Guid] tương đương chính xác với .NET Type.AssemblyQualifiedName. Giống như
System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5561934e089
Với sự khác biệt rõ ràng là tên kiểu .NET dễ đọc hơn. Nó là cần thiết để cho phép một chương trình để khám phá những gì DLL cần phải được nạp để sử dụng một loại. Trong trường hợp .NET, các assembly thường được tìm thấy bằng cách liệt kê GAC. Nó dựa trên tập tin.
Tuy nhiên, COM sử dụng sổ đăng ký. Sau đó hội đồng có mã nguồn bạn nhìn vào được xây dựng và đăng ký sau đó bạn có thể tìm lại [Guid] trong sổ đăng ký. Khởi động regedit.exe và điều hướng đến HKLM\Software\Classes\CLSID\{guid}
. Bạn sẽ thấy các giá trị khóa đăng ký mà thời gian chạy sử dụng để tải CLR và assembly.
Nguồn
2010-09-21 12:49:46
Trông giống như thế này? http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.guidattribute.aspx – Tx3
Có, nó trông như thế. Có sự khác biệt giữa Guid và GuidAttribute không? – Andrei
khi áp dụng thuộc tính bằng cách sử dụng "[]", bạn có thể bỏ "Thuộc tính" ở cuối tên loại. Nó giả định nó ở đó. Như vậy, chúng giống nhau. – Rangoric