2011-09-09 19 views
6

Tôi có thể nhận giá trị GUID của giao diện và của lớp để tạo DLL trong C# ở đâu? Tôi sử dụng Viusal Studio 2005.Xin vui lòng trợ giúp.?Tôi có thể nhận giá trị GUID giao diện và lớp để tạo DLL, C#

using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Runtime.InteropServices; 

namespace Wrapper 
{ 
[Guid("")] => Where can i get this??? 
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] 
public interface _Service 
{ 
    [DispId(1)] 
    SearchResponse ExecuteSearch(); 
} 

[Guid("")] => Where can i get this??? 
[ClassInterface(ClassInterfaceType.None)] 
[ProgId("Wrapper.Service")] 
public class Ebil : _Service 
{ 
FactService ew; 

    public Ebil() 
    { 
     ew = new FactService(); 

    } 

    public SearchResponse ExecuteSearch(SearchRequest searchRequest) 
    { 
     return ew.ExecuteSearch(searchRequest); 
    } 

}}

+0

Bạn đang hỏi cách tạo một guid để đặt trong thuộc tính contructor, hoặc cách lấy guid được đặt trong đó khi chạy? Tôi giả định sau. –

+0

@Juan Ayala - anh ta không cần phải nhận được một số guids cho các lớp học của mình như là đối số cho GuidAttribute, mà ghi đè lên các loại tự động guids. – Matten

Trả lời

4

Sử dụng một GUID-Generator của sự lựa chọn của bạn, hoặc follow this link.


GuidAttribute Class

Vật một System.Guid rõ ràng khi một GUID tự động là không mong muốn.

Nó chỉ có thể tương thích với các Constructor của lớp Guid:

Chuỗi truyền cho các thuộc tính phải nằm trong một định dạng đó là một cuộc tranh cãi constructor chấp nhận cho các loại Guid. Để tránh xung đột với loại Guid, hãy sử dụng tên dài GuidAttribute một cách rõ ràng. Chỉ sử dụng GUID rõ ràng khi loại phải có GUID cụ thể. Nếu thuộc tính bị bỏ qua, GUID được gán tự động.

3

Thuộc tính GUID của lớp Type. Hãy thử

typeof(_Service).GUID; 
typeof(Ebil).GUID; 
Các vấn đề liên quan