質問

.NET Reflection経由で調べたいCLI / C ++インターフェイスがあります。ソースコードの関数シグネチャは次のとおりです。

class ClassA;
template<typename _Type> class ClassTempA;

public interface class Test : BaseFunc {
public:
    ClassTempA<int>& SomeFunc2(ClassA inst) = 0;
};

.NET Reflectorで調べると、関数は次のようになります。

unsafe ClassTempA<int>* modopt(IsImplicitlyDereferenced) SomeFunc2(ClassA inst);

.NETリフレクションを介してmodopt属性を取得する方法はありますか、またはメタデータを使用する必要がありますか アンマネージAPI?

役に立ちましたか?

解決

ParameterInfo :: GetOptionalCustomModifiers() および ParameterInfo :: GetRequiredCustomModifiers() 。タイプについて説明するには、次を参照してください。

class ClassA;
template<typename _Type> class ClassTempA;

public interface class Test : BaseFunc {
public:
    ClassTempA<int>& SomeFunc2(ClassA inst) = 0;
};

array<Type^>^ GetModifiers()
{
    MethodInfo^ SomeFunc2 = Test::typeid->GetMethod("SomeFunc2");
    return method->ReturnParameter->GetOptionalCustomModifiers();
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top