c# - 为什么 C++ CLI 索引属性在 C# 中不起作用?

标签 c# c++ .net visual-c++ c++-cli

有两个项目,一个 C++ CLI 和另一个 C# 项目。
C# 项目中引用了 C++ CLI 程序集。

一切都很好,除了索引属性不起作用。
C++ CLI 代码:

property Nullable< int> PVarInt[System::String^] {
    Nullable<int> get(System::String^ inx){
    }
    void set(System::String^ inx, Nullable< int>  newx){
    }
}

C# 中的代码显示为两个 set 和 get 方法,如下所示:

get_PVarInt(..)
set_PVarInt(..)

这是一个错误吗?有没有办法解决这个问题?为什么会发生这种情况?

最佳答案

C# 不支持索引属性,this 属性除外。

但是 .NET 框架确实如此,因此当使用支持它的语言创建索引属性时,它将在 C# 中显示为一个 get_Method 和一个 set_Method

关于c# - 为什么 C++ CLI 索引属性在 C# 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15358631/

相关文章:

c# - 如何在 Windows Phone 8.1 上禁用 native 镜像生成?

c++ - 为什么 operator-> 在 C++ STL 库中由 operator* 实现?

c++ - 理解左值概念

.net - 如何使 MCR 启动时间快

c# - 在标准 ASP.NET MVC 安装模板中模拟用户

c# - 超时异常 - 请求排队?线程不够?

c# - 全局类实例计数(使用信号量)

c# - 从 onchange 触发 .click() 时,IE9 上出现 "SCRIPT5 Access is denied"错误

c++ - 如何检测按键是否由 keybd_event 或 SendInput 模拟?

.net - Subversion 保存到哪里?