File tree Expand file tree Collapse file tree 2 files changed +14
-1
lines changed Expand file tree Collapse file tree 2 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -73,7 +73,7 @@ public void TestImport()
73
73
Assert . IsTrue ( ps . Exists ( "sys" ) ) ;
74
74
75
75
ps . Exec ( "sys.attr1 = 2" ) ;
76
- int value1 = ( int ) ps . Eval ( "sys.attr1" ) . AsManagedObject ( typeof ( int ) ) ;
76
+ int value1 = ps . Eval < int > ( "sys.attr1" ) ;
77
77
int value2 = ( int ) sys . attr1 . AsManagedObject ( typeof ( int ) ) ;
78
78
Assert . AreEqual ( value1 , 2 ) ;
79
79
Assert . AreEqual ( value2 , 2 ) ;
Original file line number Diff line number Diff line change @@ -651,6 +651,19 @@ public PyObject Eval(string code)
651
651
return new PyObject ( ptr ) ;
652
652
}
653
653
654
+ /// <summary>
655
+ /// Evaluate a Python expression
656
+ /// </summary>
657
+ /// <remarks>
658
+ /// Evaluate a Python expression and convert the result to Managed Object.
659
+ /// </remarks>
660
+ public T Eval < T > ( string code )
661
+ {
662
+ PyObject pyObj = Eval ( code ) ;
663
+ T obj = ( T ) pyObj . AsManagedObject ( typeof ( T ) ) ;
664
+ return obj ;
665
+ }
666
+
654
667
/// <summary>
655
668
/// Exec Method
656
669
/// </summary>
You can’t perform that action at this time.
0 commit comments