2011-09-09 23 views
6

¿Dónde puedo obtener el valor GUID de la interfaz y de la clase para crear DLL en C#? Uso Viusal Studio 2005. Por favor ayuda.¿Dónde puedo obtener el valor GUID la interfaz y clase para crear 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

¿Está preguntando cómo generar un guid para colocar en el contructor de atributo, o cómo obtener el guid que se colocó allí en el tiempo de ejecución? Supongo que esto último. –

+0

@Juan Ayala - no, necesita obtener algunas pautas para sus clases como argumentos para GuidAttribute, que anula las guías automáticas de tipo. – Matten

Respuesta

4

utilizar un GUID-Generador de su elección, o follow this link.


GuidAttribute Class

suministra una System.Guid explícita cuando un GUID automática es indeseable.

Sólo tiene que ser compatible con el constructor de la clase Guid:

La cadena que se pasa al atributo debe estar en un formato que es un argumento del constructor aceptable para el tipo Guid. Para evitar conflictos con el tipo Guid, use el nombre largo GuidAttribute explícitamente. Solo usan un GUID explícito cuando un tipo debe tener un GUID específico. Si se omite el atributo , se asigna un GUID automáticamente.

3

La propiedad GUID de la clase Type. Pruebe

typeof(_Service).GUID; 
typeof(Ebil).GUID; 
Cuestiones relacionadas