为什么C CLI索引属性在C#中不起作用?
作者:互联网
有两个项目,One C CLI和另一个C#项目.
C CLI程序在C#项目中引用.
一切都很好,除了索引属性不起作用.
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/C++LI具有可从C#获得的索引属性:
例:
public ref class ClassWithIndexer
{
private:
array<int> ^x;
public:
property int default[int]
{
int get(int index)
{
return x[index];
}
void set(int index, int value)
{
x[index] = value;
}
}
};
标签:c,net,visual-c,c-cli,c-2 来源: https://codeday.me/bug/20190901/1781039.html