Си библиотека отдает список аргументов va_list, думаю что логично перебрать все это дело через ArgIterator.
У меня встал вопрос, как мне получить объект который отдается через GetNextArg, он же в свою очередь отдает структуру типа TypedReference, однако, мне не понятно что это за структура, и как мне ее использовать что бы заполнить массив с object[].
private unsafe void LogCallback
(
IntPtr data,
LogLevel level,
IntPtr logContextPtr,
byte* fmt,
RuntimeArgumentHandle args
)
{
byte* tmpFmt = fmt;
int sizeFmt = 0;
while (0 != *tmpFmt)
{
tmpFmt++;
sizeFmt++;
}
ArgIterator iterator = new ArgIterator(args);
string format = Encoding.UTF8.GetString(fmt, sizeFmt);
List<object> objects = new List<object>();
while (iterator.GetRemainingCount() != 0)
{
RuntimeTypeHandle typeHandle = iterator.GetNextArgType();
TypedReference current = iterator.GetNextArg();
// objects.Add(current);
}
iterator.End();
}
Как узнать тип который содержится в аргументе, и записать его в коллекцию?
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости