我正在编写一个 C#(托管)应用程序应该使用的 C++/CLI 库。
我想编写一个接受可选参数的方法,在 C# 中可以写成:
void Function (object obj, object opt1 = null, int opt2 = 0)
当用 C# 编写这样的东西时,在 Intellisense 中确实显示了同样的东西。
在 C++/CLI 中,我在头文件中写入:
void Function (Object^ obj, [Optional] Object^ opt1 , [Optional] int opt2);
编译我的库后,我在 C# Intellisense 中获得以下函数:
void Function (object object, object opt1 = bad value, int opt2 = bad value)
备注:我知道默认值不能更改为“ default(TYPE)
”以外的任何值,所以我什至不尝试。