Где я могу получить значение GUID интерфейса и класса для создания DLL, C # - PullRequest
6 голосов
/ 09 сентября 2011

Где я могу получить значение GUID интерфейса и класса для создания DLL в C #?Я пользуюсь Viusal Studio 2005. Пожалуйста, помогите .?

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);
    }

}}

Ответы [ 2 ]

5 голосов
/ 09 сентября 2011

Используйте GUID-генератор по вашему выбору или перейдите по этой ссылке .


Класс атрибута Guid

Предоставляет явный System.Guid, когда автоматический GUID нежелательны.

Должно быть совместимо только с Конструктором класса Guid:

Строка, передаваемая атрибуту, должна иметь формат допустимый аргумент конструктора для типа Guid. Чтобы избежать конфликтов с типом Guid явно используйте длинное имя GuidAttribute. Только используйте явный GUID, когда тип должен иметь определенный GUID. Если атрибут не указан, GUID назначается автоматически.

3 голосов
/ 09 сентября 2011

Свойство GUID класса Type. Попробуйте

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