MC++ индексатор с переменным числом параметров
Необходимо перенести следующий код value_type Vector из С# в ManagedC++
Код:
public Vector this[params int[] indexs]
{
get
{
//Создаем новый ветктор по указанным номерам элементов исходного
}
set
{
//Заменем указанные по номерам элементы в векторе
}
}
{
get
{
//Создаем новый ветктор по указанным номерам элементов исходного
}
set
{
//Заменем указанные по номерам элементы в векторе
}
}
Пытаюсь перенести тот же код в MC++ ( опция CLR:pure )
Код:
property Vector default[array<int>^]
{
Vector get(... array<int>^ indexs)
{
//Создаем новый ветктор по указанным номерам элементов исходного
}
Vector set(... array<int>^ indexs, Vector value)
{
//Заменем указанные по номерам элементы в векторе
}
}
{
Vector get(... array<int>^ indexs)
{
//Создаем новый ветктор по указанным номерам элементов исходного
}
Vector set(... array<int>^ indexs, Vector value)
{
//Заменем указанные по номерам элементы в векторе
}
}
И...... возникает ошибка( с методом set), так как параметр с переменным числом аргуметнов должен ижти последим в списве параметров функции с одной стороны и запрашиваемое значение Vector должно идти вторым по списку параметров метода set по определению свойств в MC++
Кто-нить может подсказать как мне быть?
Цитата: sigmov
Кто-нить может подсказать как мне быть?
Хммм, похоже действительно нельзя в MC++ полноценно использовать переменное количество индексов в синтаксически удобной форме.
Я попробовал скомпилировать тестовый класс на C# в .net модуль (<OutputType>Module</OutputType> в csproj файле) и прилинковать его к основной сборке в MC++. Симптом аналогичен - мутатор (set) не принимает запись параметров в простой форме через запятую.
В принципе, определить мутатор можно без троеточия, но вот использовать его из MC++ уже не так удобно, как в C#.