/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/csharp/director_binary_string_runme.cs
56 строк
1 KB
Erez Geva
Fixes of STRING/BYTES LENGTH typemaps.
29 фев 2024, 04:09
29 фев 2024, 04:09
1bf59e0
Код
Авторство
О чём код?
using System; using director_binary_stringNamespace; public class director_binary_string_runme { static void Main() { Caller caller = new Caller(); Callback callback = new DirectorBinaryStringCallback(); caller.setCallback(callback); int sum = caller.call(); int sumData = caller.callWriteData(); caller.delCallback(); if (sum != 9*2*8 + 13*3*5) throw new Exception("Unexpected sum: " + sum); if (sumData != 9*2*8) throw new Exception("Unexpected sumData: " + sumData); new Callback().run(null, null); callback = new DirectorBinaryStringCallback(); caller.setCallback(callback); caller.call_null(); } } public class DirectorBinaryStringCallback : Callback { public DirectorBinaryStringCallback() : base() {} public override int run(string dataBufferAA, string dataBufferBB) { int ret = 0; if (dataBufferAA != null) { for (int i = 0; i < dataBufferAA.Length; i++) ret += (int)dataBufferAA[i] * 2; } if (dataBufferBB != null) { for (int i = 0; i < dataBufferBB.Length; i++) { ret += (int)dataBufferBB[i] * 3; } } return ret; } public override int writeData(string dataBufferAA) { int ret = 0; if (dataBufferAA != null) { for (int i = 0; i < dataBufferAA.Length; i++) ret += (int)dataBufferAA[i] * 2; } return ret; } }