2015-06-02 6 views
3

У меня есть сценарий Python, который получает данные из приложения .NET. Как использовать входящий буфер типа «System.Collections.Generic.List`1 [System.Byte]» в моем скрипте?Использование System.Collections.Generic.List`1 [System.Byte] в Python

Функция скрипта заключается в том, чтобы найти и заменить токены строк, снова собрать буфер обратно в System.Collections.Generic.List`1 [System.Byte], а затем вернуть буфер обратно на .NET-сервер.

Я очень новый для Python. Это то, что у меня есть до сих пор:

import array 
import clr 
from System.Collections.Generic import * 

def SetRecvBuffer(buffer): 
    li = List[byte](buffer) 
    hookme.Debug(li)  
    for x in li: 
     hookme.Debug(x) 

Любая помощь будет оценена по достоинству. Благодаря!

ответ

0

Проблема заключается в том, что C# List инициализации на стороне Python игнорирует элементы, приведенные в скобках, который выглядит как ошибка, потому что теперь вместо того, чтобы использовать List.Add():

import clr 
clr.AddReference("System.Collections") 
from System.Collections.Generic import List 
from System import Int32 

li = List[Int32](range(3)) 
list(li) #returns [] 
li.Add(5) 
list(li) #returns [5] 
+0

https://github.com/pythonnet/pythonnet/ вопросы/97 – denfromufa

 Смежные вопросы

  • Нет связанных вопросов^_^