2013-04-24 3 views
1

을 실행하기 전에 범위에 변수를 추가하여, C 번호와 IronPython의 스크립트를로드 :는 어떻게 코드를 다음 한 그것을

m_pyScope = pyRuntime.UseFile(filename); 

는 C#에서 IronPython의 런타임 내에서 스크립트 파일을로드합니다.

문제는이 스크립트를 실행하기 전에 해당 사용자 지정 함수, 변수 등을 해당 범위에 등록해야한다는 것입니다. 지금 사용하는 코드는 컴파일 후 스크립트 본문을 실행합니다.

이 같은 로딩 IronPython의 스크립트를 만들 수있는 방법이 :

  • 그 범위와 무언가를 (() 엔진의 createScope에서) 파일이나 텍스트 변수
  • 빈 범위를 만들기에서

    1. 컴파일은, 예 : 일부 함수 추가
    2. 스크립트 본문 실행, 예 : 함수 또는 클래스 외부에있는 코드
  • 답변

    2

    해결책을 찾았습니다. 스크립트를로드하는 가장 좋은 방법은이 질문에 대한 대답입니다 :

    IronPython integration in C#: a specific problem/question

    다음 소스를 컴파일, 실행, 다음 범위에서 엔진을 만듭니다. 그 후 소스를 호출 할 수 있습니다.

    +0

    +1 전에 작성한 범위에서 스크립트를 실행하려면 실행하십시오 (범위). 다른 사람에게 유용합니다. 문제가 해결 되었다면 자신의 답을 받아 들여야합니다 (http://stackoverflow.com/faq#howtoask 참조). 당신은 자신의 대답 (48h 정도)을 수락하기 전에 잠시 기다려야 할 수도 있습니다. 그것은 당신에게 배지도 줄 것이다 :) – Marijn