2011-09-09 14 views
6

C#でDLLを作成するためのインターフェイスとクラスのGUID値はどこで取得できますか?私はViusal Studio 2005を使用しています。助けてください。ここでは、DLLを作成するためのインターフェイスとクラスのGUID値を取得できます。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

あなたは、属性コンストラクタに配置するGUIDを生成する方法、または実行時にそこに配置されたGUIDを取得する方法を尋ねていますか?私は後者を仮定する。 –

+0

@Juan Ayala - GuidAttributeの引数としてクラスのいくつかのguidを取得する必要はありません。自動型のguidをオーバーライドします。 – Matten

答えて

4

あなたの選択、またはfollow this linkのGUID-ジェネレータを使用してください。


GuidAttribute Class

自動GUIDが望ましくない あるときに、明示的可能System.Guidを提供します。

それだけGuidクラスのコンストラクタと互換性がなければならない:

属性に渡された文字列はタイプのGUIDのため 許容コンストラクタの引数である形式でなければなりません。競合を回避するには、Guid型の を使用する場合は、明示的に長い名前のGuidAttributeを使用してください。 のみ、特定のGUIDを持つ型が必要な場合は明示的なGUIDを使用します。 属性を省略すると、GUIDが自動的に割り当てられます。

3

GUIDクラスのプロパティです。Typeクラスのプロパティです。お試しください

typeof(_Service).GUID; 
typeof(Ebil).GUID; 
関連する問題