gli*_*ite 8 c++-cli optional-parameters
为什么我不能为托管类型或泛型函数的成员函数声明默认参数?C# 4.0引入了命名和可选参数 ; 还有类似的东西CLI吗?
我不明白为什么不可能声明这样的方法:
void Optional(int argument = 0);
Run Code Online (Sandbox Code Playgroud)
然后,当我打电话Optional();,编译器不翻译此电话为:Optional(0);.
Bot*_*000 10
看起来C++/CLI编译器没有为此发出正确的IL指令.它不会发出指令.param [1] = int32(0),C#用它来识别默认参数.如果在ILDasm中打开生成的程序集,您将看到它.
那一种方法编译是使用属性Optional和DefaultParameterValue从System::Runtime::InteropServices命名空间,但是C#不使用这些默认参数,所以目前有围绕创建超载没有简单的方法.
您可以在此处找到询问这些属性的问题:https://stackoverflow.com/a/4974528/93652
| 归档时间: |
|
| 查看次数: |
6765 次 |
| 最近记录: |