2011-07-12 12 views
6

現在、アップグレード対象のレガシープロジェクトで使用するためにCOMに公開されるライブラリで作業しています。私は、公開されるべきインタフェースを作成しています。long、intなどの型を持つプロパティを持っています。 DescriptionAttributeを使用して、インターフェイス、クラス、およびメソッドの.tlbで生成されたヘルプ文字列を得ることができますが、何らかの理由でプロパティに対して機能したくないようです。プロパティのTLB出力にヘルプストリングを生成するにはどうしたらいいですか?COMインターフェイスを介して公開されているC#プロパティに適用されるhelpstring属性の取得

答えて

8

ゲッターとセッターに属性を個別に配置する必要があります。このように:

using System; 
using System.ComponentModel; 
using System.Runtime.InteropServices; 

namespace ClassLibrary1 { 
    [ComVisible(true), InterfaceType(ComInterfaceType.InterfaceIsDual)] 
    public interface IFoo { 
     int property { 
      [Description("prop")] 
      get; 
      [Description("prop")] 
      set; 
     } 
    } 
} 

説明を繰り返すことは控えめですが、IDLでも必要です。

+1

うん、それはやったよ。メソッドのパラメータで同じことをする方法はありますか?私はどちらかを働かせることはできません。メソッド自体については、それは問題ありませんが、パラメータや戻り値はありません。 –

+1

いいえ、タイプライブラリではサポートされていません。 –

+0

私はこれがノイズだと知っていますが、私は* HansPassantに感謝する必要があります*。私がCOMに関する質問をするたびに、答えがあります。 – RubberDuck

関連する問題