C# で認識されるメソッド シグネチャを取得するには、次のようにしdynamic
ます。
void TestMethod( [System::Runtime::CompilerServices::DynamicAttribute] System::Object^ arg )
{
}
ただし、すべてのタイプを受け入れたいだけの場合は、単純に を使用できますSystem::Object^
。この属性は、提供するのに非常に苦労するセマンティクスを暗示しているため、誤解を招く可能性があります。
実際のデータ型を調べるには、 を使用しますarg->GetType()
。その後、実行時にメンバーを検出して呼び出すために、リフレクションや DLR のすべての機能を使用できます。
キーワードが使用されdynamic
たときに C# がセマンティクスを推測するため、戻り値の型で属性を使用する方が少し便利です。var
[returnvalue: System::Runtime::CompilerServices::DynamicAttribute]
System::Object^ TestReturn( void )
{
return 1;
}