none
PropertyGridのカスタム型をC++で使用したいのですが RRS feed

  • 質問

  • こちらを読んで、C++に手動で変換しているところです。
    http://msdn.microsoft.com/ja-jp/library/aa302326.aspx

    途中までは出来たのですが、「カスタム型のサポート」以降、C++での文法が分からず困っております。

    今のところ「2. CanConvertTo メソッドをオーバーライドし・・・」のところで躓いております。

    とりあえず試行錯誤で以下のように作ってみましたがエラーが出て進みません。

    public ref class SpellingOptionsConverter:ExpandableObjectConverter {
    public: virtual  bool  CanConvertTo(ITypeDescriptorContext ^context,
            System::Type ^destinationType)  override
        {
            if (destinationType == SpellingOptions::GetType() ){
                return true;
            }

            return base->CanConvertTo(context, destinationType);
        }

    };


    エラー内容は以下の通りです。

    エラー    1    error C2352: 'System::Object::GetType' : 静的でないメンバ関数の呼び出しが正しくありません    c:\documents and settings\aa\デスクトップ\edotor\edotor\class.h    50
    エラー    2    error C2065: 'base' : 定義されていない識別子です。    c:\documents and settings\aa\デスクトップ\edotor\edotor\class.h    54
    エラー    3    error C2227: '->CanConvertTo' : 左側がクラス、構造体、共用体、ジェネリック型へのポインタではありません。    c:\documents and settings\aa\デスクトップ\edotor\edotor\class.h    54


    どうすればよろしいでしょうか?
    よろしくお願いいします。
    2009年8月27日 23:31

すべての返信

  • 検索するとか、MSDN の関連ページを読みあさるとか、言語仕様を眺める等、していきましょう。

    エラー    1    error C2352: 'System::Object::GetType' : 静的でないメンバ関数の呼び出しが正しくありません    c:\documents and settings\aa\デスクトップ\edotor\edotor\class.h    50

    http://vene.wankuma.com/ecma372/15_expression.aspx#SS.15.3.7

    エラー    2    error C2065: 'base' : 定義されていない識別子です。    c:\documents and settings\aa\デスクトップ\edotor\edotor\class.h    54

    http://msdn.microsoft.com/en-us/library/94dw1w7x.aspx


    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    • 回答の候補に設定 菊地俊介 2009年9月18日 7:18
    2009年8月28日 14:41
    モデレータ
  • 全く意味が分からなかったです。
    C#でいきます。

    2009年8月30日 8:41