Mic*_*ley 5 .net reflection c++-cli
我有一个CLI/C++接口,我想通过.NET Reflection检查.这是源代码中的函数签名:
class ClassA;
template<typename _Type> class ClassTempA;
public interface class Test : BaseFunc {
public:
ClassTempA<int>& SomeFunc2(ClassA inst) = 0;
};
Run Code Online (Sandbox Code Playgroud)
这是在.NET Reflector中检查时函数的样子:
unsafe ClassTempA<int>* modopt(IsImplicitlyDereferenced) SomeFunc2(ClassA inst);
Run Code Online (Sandbox Code Playgroud)
有没有办法通过.NET反射获取modopt属性,还是必须使用元数据非托管API?
您可以分别通过调用和来获取modopt
和modreq
信息.要说明您的类型,请参阅以下内容.System.Reflection
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();
}
Run Code Online (Sandbox Code Playgroud)