Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit191bc89

Browse files
authored
Merge pull request#1482 from losttech/Mini/PyIterFromPyObj
Create PyIter from existing PyObject
2 parents1391639 +86aedb0 commit191bc89

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

‎src/runtime/pyiter.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,22 @@ public PyIter(IntPtr ptr) : base(ptr)
2525
{
2626
}
2727

28+
/// <summary>
29+
/// Creates new <see cref="PyIter"/> from an untyped reference to Python object.
30+
/// The object must support iterator protocol.
31+
/// </summary>
32+
publicPyIter(PyObjectpyObject):base(FromPyObject(pyObject)){}
33+
staticBorrowedReferenceFromPyObject(PyObjectpyObject){
34+
if(pyObjectisnull)thrownewArgumentNullException(nameof(pyObject));
35+
36+
if(!Runtime.PyIter_Check(pyObject.Reference))
37+
thrownewArgumentException("Object does not support iterator protocol");
38+
39+
returnpyObject.Reference;
40+
}
41+
42+
internalPyIter(BorrowedReferencereference):base(reference){}
43+
2844
/// <summary>
2945
/// PyIter factory function.
3046
/// </summary>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp